插入(或不插入)菜单项的PHP代码放在哪里?

时间:2011-09-08 作者:miner2049er

我应该将PHP代码放置在何处,以根据某些条件插入或不插入菜单项,例如另一个PHP变量的值,如下所示:

$listItem = \'\';

<?php if ($condition)
{
    $listItem = \'<li id="menu-item-44" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-44"><a title="Our Real Estate Blog" href="http://www.mattepstein.com/category/blog/">Blog</a></li>\';
}

?>

/* html for menu list */

<?php echo $listItem; ?>

/* more html for menu list */

2 个回复
SO网友:GavinR

使用wp_get_nav_menu_items 要遍历菜单项,请修改要在循环中使用的菜单项。请参见example code here 了解更多信息。

SO网友:Jan Fabry

如果菜单通过常规代码显示(wp_nav_menu() 例如),您不应致电wp_get_nav_menu_items() 你自己,但你应该加入它,并改变输出。这意味着您在wp_get_nav_menu_items, 在项目上循环,并在正确的位置插入菜单项。

结束

相关推荐

函数.php和条件标记

我有以下问题:一些条件标记对函数不起作用。php文件。例如,我正在尝试执行以下操作:if ( is_home() ) : wp_enqueue_script(\'accordeon_setup\', \'/wp-content/themes/44db/js/scripts-accordeon.js\'); endif; 虽然网站没有产生错误,但我在主页上看不到脚本以下条件标记也会发生同样的情况:if ( $post->post_parent == \'12\' )