Fügen Sie Inhalte von einer Seite zur anderen ein

Ich möchte Inhalte von einer Seite (genannt “contact_text”) zu einer anderen Seite an einer bestimmten Stelle hinzufügen (beides sind WordPress Admin-Seiten). Ich habe diesen Stack Overflow-Thread verfolgt .

Allerdings glaube ich nicht, dass ich eine PHP-function innerhalb einer WP-Seite aufrufen kann, und schon gar nicht an der Stelle, an der ich es möchte. Muss ich für diese function einen Shortcode einrichten, um ihn zu benutzen?

Solutions Collecting From Web of "Fügen Sie Inhalte von einer Seite zur anderen ein"

Eine weitere Shortcode-Option (fügen Sie Ihrer functions.php Folgendes hinzu). Mit diesem haben Sie zwei Möglichkeiten. Sie können nach der Post- / Seiten-ID (funktioniert für jeden Post-Typ) oder dem Seitennamen / Slug (funktioniert nur für Seiten) abfragen.

// Add "Show Content" Shortcode function wpse_120886_show_content( $atts ) { // Attributes $a = shortcode_atts( array( 'id' => null, 'page_name' => null, ), $atts ) ); // Get Content & Return if ( $a['id'] ) { $the_post = get_post( $a['id'] ); $the_content = $the_post->post_content; } elseif ( $a['page_name'] ) { $the_post = get_posts( array( 'name' => $a['page_name'], 'post_type' => 'page', 'post_status' => 'publish', 'posts_per_page' => 1 ) ); $the_content = $the_post[0]->post_content; } return $the_content; } add_shortcode( 'show_content', 'wpse_120886_show_content' ); 

Verwendung :

Nach ID: [show_content id="ID_HERE"]

Nach Name / Slug: [show_content page_name="contact_text"]

Sie können genau diesen Code verwenden und in einen Shortcode übernehmen, wenn Sie möchten.

 add_shortcode( 'show_post', 'show_post_shortcode' ); function show_posts_shortcode( $atts ) { $defaults = array( 'path' => null ); $attributes = shortcode_atts( $defaults, $atts ); if ( null === $attributes['path'] ) return; ob_start(); show_post( $attributes['path'] ); $contents = ob_get_contents(); @ob_end_clean(); return $contents; } 

Sie geben dann einfach [show_post path="about"] , um den ungefähren Seiteninhalt zu erhalten.