Beiträge von Empfehlungen ausschließen (für Fortgeschrittene)
wp engage bietet mehrere Möglichkeiten für Publisher, bestimmte Beiträge von der Indexierung (und damit der Empfehlung) auszuschließen. Davon sind viele von Publishern direkt im Beitrag oder in den Settings einstellbar. Die Vorgehensweise dazu ist hier beschrieben.
In manchen Fällen wird jedoch eine komplexe Logik benötigt, wonach Beiträge anhand spezifischer einzelner Beitragseigenschaften (wie Metadaten, Kategorien, Tags, Taxonomien), oder einer beliebigen Kombination daraus von den Beitragsempfehlungen ausgeschlossen werden sollen.
Für diesen Fall bietet wp engage die Möglichkeit, die Ausschlüsse im PHP zu hinterlegen
Definition eines Schemas zum Ausschließen von Beiträgen
Die Regeln für Exclusions werden über den wp_engage_custom_post_exclusion_rules
action-hook hinterlegt. Es wird eine Instanz des wp_engage_recommendation_exclusions
Objekts erzeugt, über dessen Methoden dann Ausschlüsse gesetzt werden können (siehe nachfolgendes Beispiel):
add_action('wp_engage_custom_post_exclusion_rules', function () {
$exclusions = new wp_engage_recommendation_exclusions();
$exclusions->set_excluded_taxonomies([302]);
$exclusions->set_excluded_categories([14]);
$exclusions->set_excluded_tags([11, 12, 13, 14]);
$exclusions->update_exclusions();
});
Nach Anpassung der Exclusion-Regeln eine einmalige Neuindexierung stattfinden, so dass die neuen Regeln berücksichtigt werden können.
Ausschlüsse einzelner Posts
Es können auch Regeln definiert werden, die noch granularer als Taxonomien, Kategorien oder Tags gehen, und Posts individuell exkludieren (oder auch wieder inkludieren). Regeln dazu werden über den wp_engage_custom_single_post_exclusion_rules
action-hook hinterlegt.
So führt folgendes Beispiel dazu, dass Posts ohne Beitragsbild von den Empfehlungen ausgeschlossen werden.
add_action('wp_engage_custom_single_post_exclusion_rules', function ($post_id) {
$exclusions = new wp_engage_recommendation_exclusions();
if (!has_post_thumbnail($post_id)) {
$exclusions->exclude_post($post_id);
}
});
Nach Anpassung der Exclusion-Regeln muss auch hier eine einmalige Neuindexierung stattfinden, so dass die neuen Regeln berücksichtigt werden können.
class wp_engage_recommendation_exclusions()
Die Klasse enthält sämtliche Methoden, mit denen Exclusions gesetzt und ausgelesen werden können.
setters
Mit nachfolgenden Methoden werden die Exclusions gesetzt
set_excluded_taxonomies
Argumente
- Array mit Term IDs (egal welcher Taxonomie), deren Beiträge nicht empfohlen werden sollen.
Beispiel
$exclusions = new wp_engage_recommendation_exclusions();
$exclusions->set_excluded_taxonomies([104, 302]);
$exclusions->update_exclusions();
In diesem Beispiel werden Beiträge mit den Term IDs 104 und 302 von den Empfehlungen ausgeschlossen.
set_excluded_categories
Argument
- Array mit Category IDs, deren Beiträge nicht empfohlen werden sollen.
Beispiel
$exclusions = new wp_engage_recommendation_exclusions();
$exclusions->set_excluded_categories([123, 145]);
$exclusions->update_exclusions();
In diesem Beispiel werden Beiträge mit den Category IDs 123 und 145 von den Empfehlungen ausgeschlossen.
set_excluded_tags
Argumente
- Array mit Tag IDs, deren Beiträge nicht empfohlen werden sollen.
Beispiel
$exclusions = new wp_engage_recommendation_exclusions();
$exclusions->set_excluded_tags([456, 678]);
$exclusions->update_exclusions();
In diesem Beispiel werden Beiträge mit den Tag IDs 456 und 678 von den Empfehlungen ausgeschlossen.
update_exclusions();
mit update_exclusions()
werden die neu definierten Exclusions mit den bereits gespeicherten abgeglichen. Existiert eine Abweichung, werden die bestehenden Exclusions durch die neu definierten Exclusions vollständig ersetzt.
Ohne update_exclusions()
werden die definierten Exclusions nicht berücksichtigt.
exclude_post
Hiermit wird ein einzelner Post direkt aus den Empfehlungen entfernt. Das Setting ist identisch mit der Vorgehensweise im Beitrag, bei dem händisch ein Häkchen gesetzt wird.
Argumente
- Integer mit einer Post ID, die nicht empfohlen werden soll
Beispiel
$exclusions = new wp_engage_recommendation_exclusions();
$exclusions->exclude_post(564);
In diesem Beispiel wird der Post mit der Post_ID 564 von den Empfehlungen ausgeschlossen.
Getters
Mit diesen Methoden können Informationen über Post-Ausschlüsse abgefragt werden:
is_excluded_post
Prüft nach, ob ein Beitrag von den Empfehlungen ausgeschlossen ist.
Argumente
- Int
$post_id
die ID des Beitrags, bei dem geprüft werden soll, ob er exkludiert ist
Return
- Bool - wahr wenn Post nicht empfohlen wird, falsch wenn er empfohlen wird
Beispiel
$exclusions = new wp_engage_recommendation_exclusions();
echo $exclusions->is_excluded_post(564);
get_excluded_categories
Return
Array mit category_ids
, aus denen Beiträge nicht empfohlen werden
Beispiel
$exclusions = new wp_engage_recommendation_exclusions();
echo $exclusions->get_excluded_categories();
get_excluded_taxonomies
Return
Array mit taxonomy_ids
, aus denen Beiträge nicht empfohlen werden
Beispiel
$exclusions = new wp_engage_recommendation_exclusions();
echo $exclusions->get_excluded_taxonomies();
get_excluded_tags
Return
Array mit tag_ids
, aus denen Beiträge nicht empfohlen werden
Beispiel
$exclusions = new wp_engage_recommendation_exclusions();
echo $exclusions->get_excluded_tags();