Tutorial de Kadence: Venta de claves de acceso a Kadence Pattern Hub en WooCommerce

en el uso de Kadence Cuando se utiliza Pattern Hub, puede generar claves de acceso para la biblioteca de diseño y facilitar el acceso a otras personas. Si desea acceder a la biblioteca a través del WooCommerce La venta de estas claves de acceso requiere el uso de herramientas más potentes para generar y gestionar las claves.El plugin WooCommerce Software License y el plugin License Manager for WooCommerce son soluciones ideales. En este artículo, presentaremos estedosLa configuración básica del plug-in y cómo se integra con Kadence Pattern Hub para la venta de claves de acceso.

Imagen [1]-Guía completa para vender claves de acceso Kadence Pattern Hub en WooCommerce

Paso 1: Crear un producto Pattern Hub Access

En primer lugar, en WooCommerce Crear un nuevo producto en el que el producto se utilizará para vender claves de acceso. Configura el producto como un producto virtual sin utilizar el proceso de envío.

  • Creación de productos virtuales
    entrar en WordPress Backend, seleccione WooCommerce -> Productos -> Añadir Nuevo Productoy configurado como producto virtual.
Imagen [2]-Guía completa para vender claves de acceso Kadence Pattern Hub en WooCommerce
  • Licencia de configuración
    Dependiendo del plugin utilizado (WooCommerce Software License o License Manager for WooCommerce), configure la licencia del producto y asóciela con el Generador de Claves de Acceso.
Imagen [3]-Guía completa para vender claves de acceso Kadence Pattern Hub en WooCommerce
Licencia de software WooCommerce(Licencia de software WooCommerce)
Imagen [4]-Guía completa para vender claves de acceso Kadence Pattern Hub en WooCommerce
Gestor de licencias WooCommerce(Gestor de licencias para WooCommerce)

Paso 2: Conectar el Kadence Pattern Hub a la validación de licencias

existe WooCommerce Después de vender una clave de acceso en Kadence Pattern Hub, debe asegurarse de que Kadence Pattern Hub pueda verificar la validez de la licencia. Para hacer esto, necesita agregar un campo personalizado PHP Filtrar.

Configuración del filtro de licencias de software de WooCommerce::

El siguiente fragmento de código comprobará si la licencia es válida y está activada para el dominio solicitado en el momento de la solicitud. Si la clave es válida y está activada, el acceso se devuelve como permitido.

/**
 * Validates license with WooCommerce Software License.
 *
 * @param Boolean         $access true or false based on access.
 * @param String          $key the access key.
 * @param WP_REST_Request $request full details about the request.
 * @return Boolean based on if access should be granted.
 */
function custom_check_cloud_access( $access, $key, $request ) {
	// If true the key matches with settings in Kadence Pattern Hub. Let that pass for testing purposes.
	if ( $access ) {
		return $access;
	}
	// Make sure WooCommerce Software License exists.
	global $WOO_SL_API;
	if ( $WOO_SL_API ) {
		$site = preg_replace('(^https?://)', '', $request->get_param( 'site' ) );
		$args =   array(
			'licence_key'       => $key,
			'domain'            => $site,
			'woo_sl_action'     => 'status-check',
			'product_unique_id' => 'PRODUCT_UNIQUE_ID',
		);
		$response = $WOO_SL_API->API_call( $args );
		$response = json_decode( $response );
		end( $response );
		$response_data = current( $response );
		if ( is_object( $response_data ) && 'success' === $response_data->status ) {
			// Lets activate it for this domain if it's not.
			if ( $response_data->status_code && 's203' === $response_data->status_code ) {
				$args['woo_sl_action'] = 'activate';
				$response = $WOO_SL_API->API_call( $args );
			}
			return true;
		} else if ( is_object( $response_data ) && 'error' === $response_data->status ) {
			// Lets activate it for this domain if possible.
			if ( $response_data->status_code && 'e204' === $response_data->status_code ) {
				$args['woo_sl_action'] = 'activate';
				$response = $WOO_SL_API->API_call( $args );
				$response = json_decode( $response );
				end( $response );
				$response_data = current( $response );
				if ( is_object( $response_data ) && 'success' === $response_data->status ) {
					return true;
				} else {
					return false;
				}
			} else {
				return false;
			}
		} else {
			return false;
		}
	}
	return $access;
}
add_filter( 'kadence_cloud_rest_request_access', 'custom_check_cloud_access', 10, 3 );

Restringir el acceso a determinadas colecciones de la biblioteca de modelos

Si desea restringir una determinada clave de acceso para que sólo acceda a una colección específica de bibliotecas de esquemas, puede hacerlo con el siguiente código:

/**
 * Establecer el acceso a una colección específica de bibliotecas del centro de patrones.
 /** * Establecer el acceso a una colección específica de bibliotecas del centro de patrones.
 * @param array $args los argumentos de consulta para recuperar elementos.
 * @param string $key la clave de acceso.
 * @param array $request_extras los argumentos extra para la petición. @return array with updated query args.
 * @return array with updated query args.
 */
function custom_kadence_cloud_query_args( $args, $key, $request_extras ) {
¡si ( ! isset( $args['tax_query'] ) ) {
$args['tax_query'] = array(
array(
'taxonomy' => 'kadence-cloud-collections',
'field' => 'slug',
'terms' => array( 'COLLECTION_SLUG')
),
);
}
return $args.
}
add_filter( 'kadence_cloud_template_query_args', 'custom_kadence_cloud_query_args', 10, 3 );

Venta de claves de acceso para varias colecciones

Si tiene varias colecciones de esquemas para vender, puede hacerlo estableciendo un prefijo de licencia diferente para cada colección:

/**
 * Validates license with WooCommerce Software License.
 *
 * @param Boolean         $access true or false based on access.
 * @param String          $key the access key.
 * @param WP_REST_Request $request full details about the request.
 * @return Boolean based on if access should be granted.
 */
function custom_check_cloud_access( $access, $key, $request ) {
	// If true the key matches with settings in Kadence Pattern Hub. Let that pass for testing purposes.
	if ( $access ) {
		return $access;
	}
	// Make sure WooCommerce Software License exists.
	global $WOO_SL_API;
	if ( $WOO_SL_API ) {
		if ( substr( $key, 0, strlen( 'col_one' ) ) === 'col_one' ) {
			$product_id = 'PRODUCT_UNIQUE_ID';
		} else {
			$product_id = 'PRODUCT_UNIQUE_ID_TWO';
		}
		$site = preg_replace('(^https?://)', '', $request->get_param( 'site' ) );
		$args =   array(
			'licence_key'       => $key,
			'domain'            => $site,
			'woo_sl_action'     => 'status-check',
			'product_unique_id' => $product_id,
		);
		$response = $WOO_SL_API->API_call( $args );
		$response = json_decode( $response );
		end( $response );
		$response_data = current( $response );
		if ( is_object( $response_data ) && 'success' === $response_data->status ) {
			// Lets activate it for this domain if it's not.
			if ( $response_data->status_code && 's203' === $response_data->status_code ) {
				$args['woo_sl_action'] = 'activate';
				$response = $WOO_SL_API->API_call( $args );
			}
			return true;
		} else if ( is_object( $response_data ) && 'error' === $response_data->status ) {
			// Lets activate it for this domain if possible.
			if ( $response_data->status_code && 'e204' === $response_data->status_code ) {
				$args['woo_sl_action'] = 'activate';
				$response = $WOO_SL_API->API_call( $args );
				$response = json_decode( $response );
				end( $response );
				$response_data = current( $response );
				if ( is_object( $response_data ) && 'success' === $response_data->status ) {
					return true;
				} else {
					return false;
				}
			} else {
				return false;
			}
		} else {
			return false;
		}
	}
	return $access;
}
add_filter( 'kadence_cloud_rest_request_access', 'custom_check_cloud_access', 10, 3 );

Gestor de licencias para WooCommerce Configuración de filtros

Si está utilizando el plugin License Manager for WooCommerce, lo siguiente PHP El código le ayudará a verificar la validez de la licencia:

/**
 * Valida la licencia con el gestor de licencias para woocommerce.
 /** * Valida la licencia con el gestor de licencias para woocommerce.
 * @param Boolean $access verdadero o falso en función del acceso.
 * @param String $key la clave de acceso.
 * @param WP_REST_Request $request todos los detalles sobre la petición. * @return Boolean basado en WP_REST_Request.
 * @return Boolean basado en si el acceso debe ser concedido.
 */ function custom_check_cloud
function custom_check_cloud_access( $access, $key, $request ) {
// Si es verdadero, la clave coincide con la configuración de Kadence Cloud.
Si es true la clave coincide con la configuración en Kadence Cloud. if ( $access ) {
if ( $access ) { return $access; // Si es cierto, la clave coincide con la configuración de Kadence Cloud.
}
// Asegúrese de que el gestor de licencias para woocommerce existe.
if ( class_exists( 'LicenseManagerForWooCommerce\Repositories\Resources\License' ) ) {
$license = \LicenseManagerForWooCommerce\Repositories\Resources\License::instance()->findBy(
array( 'hash' => apply_filters( 'lmfwc_hash', $key ) )
);
¡if ( ! $license ) {
// No se ha encontrado ninguna licencia.
return false; } else { // No se ha encontrado ninguna licencia.
} else {
// Comprobar si ha caducado.
$expiresAt = $license->getExpiresAt(); $dateExpiresAt = new DateTime($expires)
$dateExpiresAt = new DateTime($expiresAt); $dateNow
$dateNow = new DateTime('now', new DateTimeZone('UTC'));
if ( $dateNow getTimesActivated() ) update(
$license->getId(),
array(
times_activated' => $timesActivatedNew
)
);
}
// Tenemos éxito devolvemos true.
We have success lets return true.
}
}
return $access; }
}
add_filter( 'kadence_cloud_rest_request_access', 'custom_check_cloud_access', 10, 3 );

resúmenes

combinando WooCommerce plug-in de licencia de software o License Manager para WooCommerce plug-in.Kadence Pattern Hub ofrece potentes funciones de gestión de claves de acceso. Estos plugins te ayudan a gestionar fácilmente las claves de acceso, establecer controles de permisos precisos y admiten la venta de varias colecciones, lo que facilita enormemente la venta y gestión de contenidos.


Contacte con nosotros
¿No puede leer el tutorial? Póngase en contacto con nosotros para obtener una respuesta gratuita. Ayuda gratuita para sitios personales y de pequeñas empresas
Servicio de atención al cliente WeChat
Servicio de atención al cliente WeChat
Tel: 020-2206-9892
QQ咨询:1025174874
(iii) Correo electrónico: info@361sale.com
Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres
© Declaración de reproducción
Este artículo fue escrito por: ladrones serán ratas y ratones coraje
EL FIN
Si le gusta, apóyela.
felicitaciones464 compartir (alegrías, beneficios, privilegios, etc.) con los demás
comentarios compra de sofás

Por favor, inicie sesión para enviar un comentario

    Sin comentarios