WordPress: включение содержимого одной страницы в другую

Как включить содержимое страницы на одну или несколько страниц на другой странице?

ех. У меня есть страницаA , pageB и pageC, и я хочу включить содержимое этих страниц в pageX

есть ли функция wordpress, которая загружает сообщение указанной страницы / сообщения?
например show_post ("pageA")?

Привет @dany :

В ядре WordPress нет функции show_post() но ее очень легко написать:

 function show_post($path) { $post = get_page_by_path($path); $content = apply_filters('the_content', $post->post_content); echo $content; } 

Обратите внимание, что это будет вызвано с помощью пути страницы, то есть:

 <?php show_post('about'); // Shows the content of the "About" page. ?> <?php show_post('products/widget1'); // Shows content of the "Products > Widget" page. ?> 

Конечно, я бы, вероятно, не назвал бы функцию так же, как show_post() если в будущем WordPress добавит одноименную функцию. Ваш выбор.

Кроме того, и никаких незначительных последствий для @kevtrout, потому что я знаю, что он очень хорош, подумайте о том, чтобы опубликовать свои вопросы в WordPress на сайте-партнере StackOverflow WordPress Answers в будущем. Там гораздо больше процентов энтузиастов WordPress, отвечая на вопросы.

Надеюсь это поможет.

-Майк

Страницы – это просто сообщения, в которых используется post_type «страницы» в базе данных. Вы можете показать содержимое нескольких страниц на другой странице, написав почтовый запрос в своем шаблоне pageX, который получает сообщения, которые вы указываете, и выводите их в цикле.

Существует три способа получить почтовый контент из базы данных:

  1. get_posts
  2. query_posts
  3. WP_Query

Эти ссылки указывают на WordPress Codex. Get_posts и query_posts имеют доступный аргумент, 'page_id', где вы можете указать идентификатор страницы, которую вы хотите получить и отобразить.

Вы можете установить плагин «Улучшенная страница включения» . После установки вы создадите страницу X и введите:

 [include-page id="123"] [include-page id="124"] [include-page id="125"] 

где это идентификаторы страниц A, B и C соответственно

 <?php query_posts('p=43'); global $more; //set $more to 0 in order to only get the first part of the post $more = 0; // the Loop while (have_posts()) : the_post(); // the content of the post ?> the_title(); the_content(); endwhile; ?> 

Это, очевидно, часть сообщения, я получил детали из wordpress codex.

Я нашел этот ответ, размещенный на форумах WordPress. Вы добавляете немного кода в functions.php, а затем просто используете короткий код, когда захотите.

 function get_post_page_content( $atts ) { extract( shortcode_atts( array( 'id' => null, 'title' => false, ), $atts ) ); $the_query = new WP_Query( 'page_id='.$id ); while ( $the_query->have_posts() ) { $the_query->the_post(); if($title == true){ the_title(); } the_content(); } wp_reset_postdata(); } add_shortcode( 'my_content', 'get_post_page_content' ); 

Для короткого кода,

 [my_content id="Enter your page id number" title=Set this to true if you want to show title /] 

Интересно … Я огляделся по поводу того, как вставлять контент WordPress в другое место (как на другом сайте), и нашел некоторые вещи …

  • www. shooflydesign.org/buzz/past/embedding_wordpress. HTML
    • Показывает, как встраивать контент WordPress в другой сайт с помощью php-скрипта; возможно, просто использовать одно и то же, чтобы встроить WordPress в себя?
  • www. corvidworks. ком / статьи / WordPress-контент на других-страницах
    • Подобная концепция; встраивать WordPress на другую страницу; просто попробуйте использовать этот инструмент в новой записи WP
  • кормит себя
    • Мои поиски вытащили некоторые предложения, чтобы просто использовать фид в своем собственном блоге для вставки в сообщение. Там ничего не мешает. Возможно, вы захотите его автоматизировать, и поэтому реструктуризация фида для правильного просмотра может быть проблематичной, но это стоит того, что вы хотите сделать.

Надейтесь, что они квази-полезны. Хотя все они являются решениями для получения вашего содержимого WP в каком-либо месте, кроме WP … они могут работать для вашего заданного вопроса и позволяют отображать A, B и C на X.

Существует функция WordPress для отображения содержимого определенной страницы внутри другого с помощью query_posts ():

 <?php query_posts("posts_per_page=1&post_type=page&post_id=134"); the_post(); ?> 

Вы устанавливаете количество страниц, которые будут отображаться в 1, тип post – это страница вместо сообщения, а идентификатор страницы