/ / Wordpress> Kategorie als untergeordnetes Element von "nicht kategorisiert" erstellen (catid = 1) - WordPress, Kategorien

Wordpress> Kategorie als untergeordnetes Element von "uncategorized" (catid = 1) erstellen - wordpress, categories

Ich habe ein Skript in meiner Datei functions.php, das prüft, ob mehrere Kategorien vorhanden sind, die für mein Thema erforderlich sind. Wenn sie nicht vorhanden sind, werden sie erstellt.

if(!get_cat_ID("my-category")){wp_create_category("my-category");}

Ich muss dieses Skript auf zwei Arten ändern ...

Zunächst muss die Kategorie so erstellt werden, dass ihre übergeordnete Kategorie die Kategorie "Nicht kategorisiert" (oder ID 1) ist.

Zweitens, wenn die Kategorie bereits existiert, aber die übergeordnete Kategorie nicht die ID 1 ist, muss ich sie so einrichten.

Antworten:

0 für die Antwort № 1

So beantworten Sie die in Ihrem Kommentar zu meiner vorherigen Antwort gestellte Frage: Wie wird die Kategoriemodifikationsfunktion ausgeführt, wenn ein Benutzer Ihr Thema aktiviert?

Sie möchten einen Aktions-Hook verwenden. Insbesondere "switch_theme". Dies ist die Codex-Seite für alle AktionshakenIch kann nicht speziell auf switch_theme verlinken, aberscrollen Sie nach unten und Sie werden es finden. Es gibt keine spezifischen Informationen zu diesem Hook, aber die Verwendung ist einfach. Sie können Ihre Funktion in functions.php oder in eine Plugin-Datei einfügen und nach der Funktionsdefinition einschließen dieser Haken:

function add_my_categories($my-theme-name){
//if $my-theme-name == "my_theme_name
//test if category exists
//if exists, update
//if doesn"t exist, create and assign parent
}
add_action("switch_theme","add_my_categories");

Der Aufruf "add_action ()" führt die named-Funktion aus, wenn der named-Hook in WordPress gefunden wird. Der "switch_theme" -Hook wird ausgeführt, nachdem ein Thema geändert wurde.

Es ist wichtig zu wissen, dass dieser Haken wirdGeben Sie der Funktion den Namen des neuen aktuellen Themas an, das bei Bedarf als Argument verwendet werden kann. Zum Beispiel, um sicherzustellen, dass die Funktion nur ausgeführt wird, wenn Ihr Thema aktiviert ist. Ich nehme an, wenn diese Funktion in der Datei functions.php Ihres Themas enthalten ist, wird sie NIEMALS ausgeführt, es sei denn, Ihr Thema ist aktiviert, sodass Sie bestimmen können, ob Sie den Namen des Themas überprüfen müssen.


1 für die Antwort № 2

Testen Sie zunächst, ob eine Kategorie vorhanden ist. Wenn ja, verwenden Sie get_category_parents () die Eltern einer bestehenden Kategorie zu bekommen.

$parentID = get_category_parents(my-category-ID, false);

Zweitens, die zweites akzeptiertes Argument von wp_create_category () ist die Kategorie, die Sie als Elternkategorie zuweisen möchten.

if(!get_cat_ID("my-category")){wp_create_category("my-category",parent category ID);}

Drittens, wenn die Kategorie existiert, können Sie verwenden wp_update_term () um die Attribute zu ändern.

wp_update_term( $term_id, $taxonomy, $args );