php - Wordpress:将事件类添加到 $parent_title

标签 php css wordpress parent-child

我正在显示一个列出父页面和子页面的边栏菜单。

  • 家长
  • 子页一
  • 子页面二
  • 子页三

我的代码将类 .current_page_item 应用到事件的子页面,而不是事件的父页面。我希望父级在该页面上也有 .current_page_item 类。

<?php
if($post->post_parent)
    $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
else
    $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
if ($children) {
    $parent_title = get_the_title($post->post_parent);?>
    <ul id="sub">
        <li><a href="<?php echo get_permalink($post->post_parent) ?>"><?php echo $parent_title;?></a></li>
        <?php echo $children; ?>
    </ul>
<?php } ?>

这里是输出的概念:

<ul id="sub">
    <li><a href="#">Parent</a></li>
    <li class="page_item page-item-19 current_page_item"><a href="#">Child page</a></li>
    <li class="page_item page-item-21"><a href="#">Child page</a></li>
    <li class="page_item page-item-23"><a href="#">Child page</a></li>
</ul>

最佳答案

您应该使用 get_pageswp_get_nav_menu_items。任何返回帖子对象数组的 WordPress 函数。

$children = wp_get_nav_menu_items( 'Main Menu' ); // dump to make sure this is an array of objects
echo "<ul id='sub'>";
foreach($children as $item) {
    $class = '';
    if ( $item->object_id == $post->post_parent ){
        $class = 'current_page_ancestor';
    } else if ( $item->object_id == $post->ID ){
        $class = 'current_page_item';
    }
    echo "<li " . $class . "><a href='" . $item->url . "'>" . $item->title . "</a></li>";
}
echo "</ul>";

这会获取一组 WordPress 帖子,然后循环遍历它们。

如果当前迭代中的帖子 ID 与您正在查看的帖子的父级相同,请添加“current_page_ancestor”类。

如果当前迭代中的帖子 ID 与您正在查看的帖子相同,请添加“current_page_item”类。

关于php - Wordpress:将事件类添加到 $parent_title,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23494502/

相关文章:

php - 为什么我的查询使用 LIKE 和 php PDO 返回 0 行

php - Google Calendar API - PHP - 设置事件的颜色

php - 我已经创建了客户地址簿,但似乎无法添加新客户

javascript - 向 WP 主题添加新的导航菜单

html - 如何更改 DropDown 样式并使其在不同浏览器中相同?

php - 被锁定在本地 wordpress 之外

javascript - 使用 PHP 中的 JSON 进行 JSON 解析

css - 颜色渐变不显示

wordpress - 在主题激活时自动在位置 'primary menu' 设置菜单

html - svg 链接在插入 visual composer 切换标签时不起作用