Wp_list_pages изменить заголовок страницы при выводе - PullRequest
1 голос
/ 08 декабря 2011

Я использую wp_list_pages для создания подменю на странице и дочерней странице.Все работает нормально

Мое меню выглядит как Parent, page title is Hello Child, Child, Child, etc

Я пытаюсь найти способ динамического изменения заголовка страницы при выводе.В приведенном выше примере я хотел бы, чтобы на моей родительской странице вместо «Hello» отображалась GoodBye.

Вы можете удивиться, почему я не просто переименую свою страницу в Goodbye.Это потому, что заголовок страницы, в моем дизайне, отображается в 3 разных форматах - заголовок меню Hello отображает приветствие (можно изменить это через меню WP - заголовок страницы отображает правильный заголовок, т.е. Hello

Мне нужно слеваменю для отображения до свидания ....

надеюсь, что это имеет смысл для кого-то

thx

1 Ответ

1 голос
/ 08 декабря 2011

Используйте настраиваемое поле на своей странице ... назовем его sidebar_title.

Затем вам нужно конвертировать wp_list_pages код в пользовательский цикл WordPress (может быть способ использовать get_pages, чтобы сделать то же самое, если вы этого хотите.

Вот код боковой панели для отображения текущей страницы и ее дочерних страниц, заменив the_title(); на sidebar_title, если он существует. Это довольно уродливо ... главное - показать вам, как получить доступ к пользовательским полям.

<?php
    //Get children of current page and display with custom fields. 
    //You will probably need to adjust this.
    $args=array(
      'post_parent' => $post->ID,
      'post_type' => 'page',
    );
    $my_query = null;
    $my_query = new WP_Query($args);
    if( $my_query->have_posts() ) {
    ?>
    <ul>
    <?php 
        // Print parent with sidebar_title, if it exists
        $sidebar_title = get_post_meta($post->ID, 'sidebar_title', true); 
        if ($sidebar_title != ''){ ?>
            <li><a href="<?php the_permalink() ?>"><?php echo $sidebar_title;?></a></li>
        <?php } else { ?>
            <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
        <?php } ?>
    <?php
      // Print each child page with sidebar_title, if it exists
      while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <?php 
            $sidebar_title = get_post_meta($post->ID, 'sidebar_title', true); 
            echo $sidebar_title;
            if ($sidebar_title != ''){ ?>
                <li><a href="<?php the_permalink() ?>"><?php echo $sidebar_title;?></a></li>
            <?php } else { ?>
            <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
            <?php } ?>
       <?php endwhile; } ?>
       </ul>
    <?php wp_reset_query();?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...