Hinzufügen von Standardinhalt zu Posts in einer bestimmten Kategorie?

Update / Fragenklärung: Wie können Sie den folgenden Code in diesem Thread ändern: Erzwinge die Kategorieauswahl vor dem Erstellen eines neuen Posts? Das bietet ein Drop-Down-Menü, um eine Kategorie vor dem Erstellen eines neuen Beitrags zu wählen, um einige Standard-HTML-Inhalte zu einer bestimmten Kategorie hinzuzufügen ???

add_filter( 'load-post-new.php', 'wpse14403_load_post_new' ); function wpse14403_load_post_new() { $post_type = 'post'; if ( isset( $_REQUEST['post_type'] ) ) { $post_type = $_REQUEST['post_type']; } // Only do this for posts if ( 'post' != $post_type ) { return; } if ( array_key_exists( 'category_id', $_REQUEST ) ) { add_action( 'wp_insert_post', 'wpse14403_wp_insert_post' ); return; } // Show intermediate screen extract( $GLOBALS ); $post_type_object = get_post_type_object( $post_type ); $title = $post_type_object->labels->add_new_item; include( ABSPATH . 'wp-admin/admin-header.php' ); $dropdown = wp_dropdown_categories( array( 'name' => 'category_id[]', 'hide_empty' => false, 'echo' => false, ) ); $category_label = __( 'Category:' ); $continue_label = __( 'Continue' ); echo <<<HTML 

{$title}

{$category_label} {$dropdown}
HTML; include( ABSPATH . 'wp-admin/admin-footer.php' ); exit(); } // This function will only be called when creating an empty post, // via `get_default_post_to_edit()`, called in post-new.php function wpse14403_wp_insert_post( $post_id ) { wp_set_post_categories( $post_id, $_REQUEST['category_id'] ); }

Original F: Ich arbeite an einer E-Commerce-Website und möchte automatisch einige Standardinhalte für Beiträge in einer bestimmten Kategorie hinzufügen, z. Produkte.

Ich habe eine Möglichkeit gefunden, einigen Posts Standardinhalte hinzuzufügen, aber ich kann sie nicht auf eine einzige Kategorie beschränken.

In der Zwischenzeit habe ich benutzerdefinierte Post-Typen verwendet, aber es ist eine Hektik, Widgets wie die letzten Posts und Post-Slider davon zu überzeugen, mit ihnen zu spielen.

Irgendwelche Ideen sind sehr willkommen – Danke

Solutions Collecting From Web of "Hinzufügen von Standardinhalt zu Posts in einer bestimmten Kategorie?"

Mit dem Code, den Sie gepostet haben, ist die ID der ausgewählten Kategorie im $_REQUEST verfügbar. Sie können diese ID in Ihrer default_content Filter default_content und bei default_content Inhalte hinzufügen:

 add_filter( 'default_content', 'wpa70073_default_products_content' ); function wpa70073_default_products_content( $content ) { // change this to your desired category ID $products_category_id = 42; if( isset( $_REQUEST['category_id'][0] ) && $products_category_id == $_REQUEST['category_id'][0] ) return "
some default product content
"; }

Das Anzeigen von Standardinhalten im Inhalts-Editor basierend auf der Kategorie ist NICHT möglich. Lassen Sie mich erklären

Wenn Sie auf die Schaltfläche “Neu hinzufügen” klicken, erstellt WordPress ein Standardobjekt im Speicher, um das angezeigte Formular zu füllen. Dieses Objekt hat die ID 0. Wenn Sie nun auf die Schaltfläche zum Speichern drücken, übernimmt wordpress die eingegebenen Daten und erstellt den Datensatz in der database . Für einen neuen Post existiert der Post also nicht in der database und ist daher überhaupt nicht mit irgendeiner Kategorie verknüpft. Dies macht es unmöglich, zwischen den Posts der Kategorie & nicht der Kategorie zu unterscheiden.

Das Beste, was Sie tun können, ist ein Javascript auf der Seite hinzufügen, die die Kategorien onchange-Ereignis hört & dann den Text dieses Feldes ändert, aber wieder ist es nicht für den Inhalt möglich, da TinyMCE innerhalb eines iFrame funktioniert und auf das JavaScript keinen Zugriff hat es