Получение контента с одной страницы и отображение его на другой странице

10 нояб. 2011 г., 03:28:24
Просмотры: 71.8K
Голосов: 11

Я гуглил, читал, тестировал и терпел неудачи.

Я довольно новичок в PHP, так что не ожидайте слишком многого :)

Я работаю над новым дизайном и хочу показать содержимое страницы "О нас" на моей домашней странице, которая является динамической. Я изучал функцию the_content, но пока не добился успеха.

<?php
   $id=about;
   $post = get_page($id=);
   $content = apply_filters('the_content', $post->post_content);
   echo $content;
?>

ID страницы - "about", если это чем-то поможет.

Пожалуйста, помогите :)

0
Все ответы на вопрос 4
2
11

Во-первых: ID записи или страницы всегда является целым числом. "about" — это либо заголовок вашей страницы "О нас", её слаг, либо и то, и другое.

Добавление следующего кода в шаблон страницы вашей "главной страницы" или в сайдбар в комбинации с условными тегами отобразит содержимое страницы "О нас":

<?php
    // запрос для страницы "О нас"
    $your_query = new WP_Query( 'pagename=about' );
    // "цикл" для обработки запроса (даже если это всего одна страница)
    while ( $your_query->have_posts() ) : $your_query->the_post();
        the_content();
    endwhile;
    // сброс данных поста (важно!)
    wp_reset_postdata();
?>

Примечание: Вышеуказанный код работает, ТОЛЬКО ЕСЛИ слаг вашей страницы действительно "about", в противном случае скорректируйте его соответствующим образом.

10 нояб. 2011 г. 04:00:50
Комментарии

Это отображает только содержимое, но не заголовок страницы. Однако использование функций типа the_title() показывает заголовок главной страницы

Chillin' Chillin'
25 апр. 2020 г. 01:59:44

Не будет, если делать это внутри цикла.

Johannes Pille Johannes Pille
25 апр. 2020 г. 15:29:55
2

Кодекс — ваш друг!

http://codex.wordpress.org/Function_Reference/get_post

<?php
    $post_id = 7;
    $post = get_post($post_id, ARRAY_A);
    $title = $post['post_title'];
    $content = $post['post_content'];
?>

(ARRAY_A — возвращает ассоциативный массив, где ключи — названия полей, а значения — их содержимое)

Это начало.

10 нояб. 2011 г. 03:53:41
Комментарии

Я пользовался кодексом, но мне сложно его понять. Учтите, что я программирую на php всего около 2 дней :)

Stian Stian
10 нояб. 2011 г. 04:19:45

Всё в шутку :) - надеюсь, это помогло.

Sterling Hamilton Sterling Hamilton
10 нояб. 2011 г. 05:34:41
0

Я хотел что-то похожее, но с заголовком страницы, вот как я этого добился:

$args = array(
    'post_type' => 'page',
    'title' => 'Заголовок страницы, которую вы хотите'
);

$your_query = new WP_Query( $args );
while ( $your_query->have_posts() ) : $your_query->the_post();
    the_content();
endwhile;
20 февр. 2018 г. 17:28:05
1
-1

Лучший способ получить содержимое текущей страницы

global $post;
echo $post->post_content;

или

global $wp_query;
echo $wp_query->post->post_content;
12 апр. 2019 г. 03:47:50
Комментарии

Вопрос был: как отображать содержимое другой страницы (страницы about) на главной странице. Страница About не установлена как главная. Речь шла не о выводе содержимого текущей страницы.

nmr nmr
12 апр. 2019 г. 09:34:24