Verkaufe Zugriff auf die Kadence Cloud

Verkauf Zugriff auf deine WordPress-Designs im Kadence Pattern Hub

Mรถchtest du mehr zum Thema Zugriff Verkaufen erfahren?

Du willst Zugriffe auf deine eigene WordPress Design Library im Kadence Pattern Hub (vorher Kadence Cloud) verkaufen? Dann richten wir gemeinsam die automatische Vergabe von Lizenzschlรผsseln ein. Das hรถrt sich zunรคchst kompliziert an, ist es aber nicht. Zusรคtzlich ist die komplette Software fรผr diese Aktion kostenlos erhรคltlich. Zumindest, wenn du die Kadence Cloud bereits besitzt.

Vorher solltest du noch lesen, wie du Pro Templates fรผr deine Pattern Hub erstellst.

Was brauche ich fรผr diese Anleitung?

Das folgende Video zeigt dir, wie du Zugriff auf deine WordPress-Designs und Blรถcke verkaufen kannst:

Schritt 1 – Erstelle dein Cloud Access Produkt

In diesem Tutorial werden wir nicht die Verwendung von WooCommerce-Subscriptions behandeln, der Prozess ist aber fast identisch.

Erstelle ein neues WooCommerce-Produkt. Lege es als virtuelles Produkt an und richte je nach Plugin die Lizenzkonfiguration ein.

Das ist ein Screenshot vom kostenpflichtigen WooCommerce Software License Plugin:

WooCommerce Software License Plugin
WooCommerce Software License Plugin

Hier ein Screenshot vom kostenlosen License Manager for WooCommerce Plugin:

License Manager for WooCommerce
License Manager for WooCommerce Plugin

Schritt 2 – Verbinden von Kadence Pattern Hub mit License Check

Fรผr diesen Schritt musst du einen benutzerdefinierten PHP-Filter hinzufรผgen, abhรคngig davon, welches Lizenzmanager-Plugin du verwendest. Dafรผr empfehle ich dir, ein Code Snippet Plugin zu verwenden, um den PHP-Filter hinzuzufรผgen.

WooCommerce Software License Filter Code:

Der PHP-Filter unten prรผft, ob die Lizenz gรผltig ist, und ob sie fรผr die Domain der Anfrageseite aktiviert ist. Wenn sie aktiviert ist, wird true zurรผckgegeben. Wenn sie bislang nicht fรผr die Domain aktiviert wurde, wird versucht, sie zu aktivieren. Falls der Schlรผssel nicht gรผltig ist oder bereits auf der maximalen Anzahl von Sites verwendet wird, wird der Zugriff verhindert.

*Hinweis: Achte darauf, dass du die PRODUCT_UNIQUE_ID mit der Unique ID รคnderst, die du beim Erstellen deines Produkts in der Lizenzkonfiguration (Zeile 22) festgelegt hast.

/**
 * 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 Cloud. 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 );

Wenn du deine WooCommerce Softwarelizenz-Zugangsschlรผssel auf eine bestimmte Sammlung in deiner Cloud beschrรคnken mรถchtest, kannst du das mit dem folgenden Filter tun. Du musst nur den „COLLECTION_SLUG“ durch den Slug ersetzen, den du senden mรถchtest.

/**
 * Set access to a specific cloud library collection.
 *
 * @param array  $args the query args for retrieving items.
 * @param string $key the access key.
 * @param array  $request_extras the extra args for the request.
 * @return array with updated query args.
 */
function custom_kadence_cloud_query_args( $args, $key, $request_extras ) {
	if ( ! 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 );

License Manager for WooCommerce filter Code

Der PHP-Filter unten prรผft, ob die Lizenz gรผltig ist.

/**
 * Validates license with license manager for woocommerce.
 *
 * @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 Cloud.
	if ( $access ) {
		return $access;
	}
	// Make sure license manager for woocommerce exists.
	if ( class_exists( 'LicenseManagerForWooCommerce\Repositories\Resources\License' ) ) {
		$license = \LicenseManagerForWooCommerce\Repositories\Resources\License::instance()->findBy(
			array( 'hash' => apply_filters( 'lmfwc_hash', $key ) )
		);
		if ( ! $license ) {
			// No license was found.
			return false;
		} else {
			// Check if expired.
			$expiresAt = $license->getExpiresAt();
			$dateExpiresAt = new DateTime($expiresAt);
			$dateNow = new DateTime('now', new DateTimeZone('UTC'));
			if ( $dateNow < $dateExpiresAt ) {
				return false;
			}
			// Make sure it shows "activated".
			if ( intval( $license->getTimesActivated() ) < 1 ) {
				$timesActivatedNew = 1;
				$updatedLicense = \LicenseManagerForWooCommerce\Repositories\Resources\License::instance()->update(
					$license->getId(),
					array(
						'times_activated' => $timesActivatedNew
					)
				);
			}
			// We have success lets return true.
			return true;
		}
	}
	return $access;
}
add_filter( 'kadence_cloud_rest_request_access', 'custom_check_cloud_access', 10, 3 );

Hast du Probleme mit dem Code, findest du weitere Informationen direkt beim Entwickler.

Kadence Theme

Erstelle atemberaubende Websites in minutenschnelle mit diesem schlanken und schnellen WordPress-Theme. Fortschrittliches Webdesign!

Kadence Blocks

Kadence Blocks bietet Werkzeuge, die es dir ermรถglichen, einzigartige und aussagekrรคftige Inhalte einfacher im nativen WordPress-Editor zu erstellen.

Fazit

Es ist schon krass, was der Kadence Pattern Hub und die komplette Kadence WP Suite fรผr Mรถglichkeiten bietet. Was mit dem Kadence Theme begonnen hat, ist heute ein Gamechanger fรผr Agenturen und Freelancer. Mit etwas Glรผck ist auch gerade ein Kadence Discount aktiv.

Offenlegung Werbelinks: Mit einem Stern (*) gekennzeichnete Links und Buttons sind sogenannte Affiliate-Links. BloggerPilot bekommt bei einem Kauf eine Provision, die sich jedoch nicht auf den Endpreis auswirkt. Es ist uns wichtig zu betonen, dass dies keinen Einfluss auf unsere Bewertung oder Meinung hat.

ร„hnliche Beitrรคge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht verรถffentlicht. Erforderliche Felder sind mit * markiert