Vorwort
Der Zugriff auf die PHP-API erfolgt über die Funktion borlabsCookieApi()
.
Wenn die Funktion vor dem WordPress-Action-Hook init
aufgerufen wird, gibt sie null
zurück.
Soll die PHP-API während des init
-Hooks verwendet werden, muss der Wert von $priority
möglicherweise explizit auf 11
oder höher gesetzt werden, da WordPress die Initialisierung unserer PHP-API mit einer Priorität von 10
ausführt.
WP-CLI vs PHP API
Nutze unsere WP CLI-Integration, um Aufgaben in deiner WordPress-Umgebung zu automatisieren. Die PHP-API wurde entwickelt, um den Zugriff auf bestimmte Funktionen für die Verwendung in eigenen Themes oder Plugins zu ermöglichen.
Borlabs\Cookie
-Namespace oder das Schreiben in unsere Datenbanktabellen ist strengstens untersagt und kann bei zukünftigen Aktualisierungen zu fatalen Fehlern führen. Wir garantieren die Kompatibilität mit zukünftigen Updates nur bei der Verwendung von borlabsCookieApi()
.
Wenn du Zugang zu einer bestimmten Borlabs-Cookie-Funktion benötigst, die nicht über unsere PHP-API verfügbar ist, kontaktiere uns bitte über unser Ticket-System und wir werden mit dir zusammen eine Lösung finden.
borlabsCookieApi()
Die Methode gibt eine Instanz der Klasse PhpApi
zurück. Die Dokumentation zu allen Methoden ist über PHPDoc verfügbar.
contentBlockerApi()
Die Methode gibt eine Instanz der Klasse ContentBlockerPhpApi
zurück.
blockContent()
Blockiert den Inhalt basierend auf den angegebenen Parametern.
/**
* Blocks the provided content based on the given parameters.
*
* @param string $content the content to be blocked
* @param null|string $url Optional. If provided, determines the type of Content Blocker based on the URL.
* @param null|string $contentBlockerId Optional. If provided, specifies the Content Blocker to use by its ID. If `$contentBlockerId` and `$url` are both provided, `$contentBlockerId` takes precedence.
* @param null|array $attributes Optional. Additional attributes to customize the blocking process.
*
* @return string the blocked content
*/
blockContent(
string $content,
?string $url = null,
?string $contentBlockerId = null,
?array $attributes = null
): string
Beispiel:
add_filter('the_content', function ($content) {
if (function_exists('borlabsCookieApi') !== false) {
// Blocks the entire content
$content = borlabsCookieApi()->contentBlockerApi()->blockContent($content);
}
return $content;
});
detectAndBlockIframes()
Erkennt und blockiert iframes im Inhalt.
/**
* Detects and blocks iframes in the provided content.
*
* @param string $htmlContent the content to be blocked
*
* @return string the blocked content
*/
detectAndBlockIframes(string $htmlContent = ''): string
Beispiel:
add_filter('the_content', function ($content) {
if (function_exists('borlabsCookieApi') !== false) {
// Only blocks iframes in $content
$content = borlabsCookieApi()->contentBlockerApi()->detectAndBlockIframes($content);
}
return $content;
});
generalConfigApi()
Die Methode gibt eine Instanz der Klasse GeneralConfigPhpApi
zurück.
get()
Gibt die Einstellungen aus dem Abschnitt Einstellungen zurück, die für jede Sprache spezifisch sind. Die zurückgegebenen Einstellungen entsprechen der aktuell aktiven Sprache.
Du kannst die aktuell geladene Sprache in Borlabs Cookie mithilfe von borlabsCookieApi()->languagePhpApi()-
>getCurrentLanguageCode()
ermitteln.
/**
* Example:
* <code>
* {
* "aggregateConsents": false,
* "automaticCookieDomainAndPath": false,
* "borlabsCookieStatus": false,
* "clearThirdPartyCache": true,
* "cookieDomain": "domain.internal",
* "cookieLifetime": 60,
* "cookieLifetimeEssentialOnly": 60,
* "cookiePath": "/",
* "cookieSameSite": "Lax", // "Lax"|"None",
* "cookieSecure": true,
* "cookiesForBots": true,
* "crossCookieDomains": ["second-domain.internal"],
* "metaBox": ["post" => "1"],
* "pluginUrl": "https://domain.internal/wp-content/plugins/borlabs-cookie",
* "reloadAfterOptIn": false,
* "reloadAfterOptOut": true,
* "respectDoNotTrack": false,
* "setupMode": false,
* }
* </code>.
*
* @return stdClass{
* aggregateConsents: bool,
* automaticCookieDomainAndPath: bool,
* borlabsCookieStatus: bool,
* clearThirdPartyCache: bool,
* cookieDomain: string,
* cookieLifetime: int,
* cookieLifetimeEssentialOnly: int,
* cookiePath: string,
* cookieSameSite: string,
* cookieSecure: bool,
* cookiesForBots: bool,
* crossCookieDomains: array,
* metaBox: array,
* pluginUrl: string,
* reloadAfterOptIn: bool,
* reloadAfterOptOut: bool,
* respectDoNotTrack: bool,
* setupMode: bool
* }
*/
get(): stdClass
Example:
add_action('init', function () {
if (function_exists('borlabsCookieApi') === false) {
return;
}
if (borlabsCookieApi()->generalConfigApi()->get()->borlabsCookieStatus === true) {
// Do something
}
}, 11);
languagePhpApi()
Die Methode gibt eine Instanz der Klasse LanguagePhpApi
zurück.
getCurrentLanguageCode()
Gibt die derzeit aktive Sprache zurück.
/**
* Returns the language code of the current language.
*/
getCurrentLanguageCode(): string
Example:
add_filter('the_content', function ($content) {
if (function_exists('borlabsCookieApi') === false) {
return $content;
}
if (borlabsCookieApi()->generalConfigApi()->get()->borlabsCookieStatus === true) {
if (borlabsCookieApi()->languagePhpApi()->getCurrentLanguageCode() === 'en') {
$content .= 'This is only visible on an English page.';
} else if (borlabsCookieApi()->languagePhpApi()->getCurrentLanguageCode() === 'de') {
$content .= 'Dies ist nur auf einer deutschen Seite sichtbar.';
}
}
return $content;
});
pluginConfigApi()
Die Methode gibt eine Instanz der Klasse PluginConfigPhpApi
zurück.
get()
Gibt die Plugin-Einstellungen zurück, die sprachunabhängig sind. Diese Einstellungen können entweder im Dashboard oder in der Bibliothek konfiguriert werden.
/**
* Example:
* <code>
* {
* "automaticUpdate": "auto-update-all", // "auto-update-all"|"auto-update-minor"|"auto-update-none"|"auto-update-patch"
* "enableDebugConsole": true,
* "enableDebugLogging": false,
* "enableEmailNotificationsForUpdatablePackagesWithAutoUpdateDisabled": false,
* "enableEmailNotificationsForUpdatablePackagesWithAutoUpdateEnabled": true,
* "packageAutoUpdateEmailAddresses": ["mail@example.internal"],
* "packageAutoUpdateInterval": "after-24-hours", // "after-24-hours"|"monday"|"tuesday"|"wednesday"|"thursday"|"friday"|"saturday"|"sunday"
* "packageAutoUpdateTime": "07:00",
* }
* </code>.
*
* @return stdClass{
* automaticUpdate: string,
* enableDebugConsole: bool,
* enableEmailNotificationsForUpdatablePackagesWithAutoUpdateDisabled: bool,
* enableEmailNotificationsForUpdatablePackagesWithAutoUpdateEnabled: bool,
* packageAutoUpdateEmailAddresses: array,
* packageAutoUpdateInterval: string,
* packageAutoUpdateTime: string
* }
*/
get(): stdClass