exclude pages in custom menu

时间:2012-04-09 作者:danyo

我正在为wordpress创建一个自定义主题,它将有一个设置页面。我添加了从导航中排除页面的选项,该选项只会对由“,”分隔的页面id起作用

以下是我目前掌握的代码:

    <ul class="tabs">
<?php
    $exmenuitems = get_option(\'exmenuitems\');
    $recentPosts = new WP_Query();
    $recentPosts->query (array (
    \'post__not_in\' => array($exmenuitems),
    \'post_type\' => \'page\',
    \'showposts\' => $menuitems
));
 while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>
<?php $slug = basename(get_permalink());?>   
<li><a href="#<?php echo $slug; ?>"><?php the_title();?></a></li>
<?php endwhile; ?>
</ul>
仅排除1个页面id可以很好地工作。但当我尝试排除多个id时,它不起作用,只有文本输入中的第一个id被排除,而另一个id保持可见。

任何帮助都将不胜感激。

1 个回复
最合适的回答,由SO网友:Dale Sattler 整理而成

您可能想使用explode function.

类似于;

<?php
    $exmenuitems = explode(",",get_option(\'exmenuitems\'));
    $recentPosts = new WP_Query();
    $recentPosts->query (array (
    \'post__not_in\' => $exmenuitems,
    \'post_type\' => \'page\',
    \'showposts\' => $menuitems
));
我建议使用WordPress Menu building functions 和管理界面。对于最终用户来说,使用页面ID通过拖放构建导航菜单更加直观。

结束

相关推荐

如何让我的自定义帖子类型出现在NAV-menus.php‘Menu’中?

我的自定义帖子类型有点问题。我可以在我的主题中很好地创建它们,但我无法让它们显示在“菜单”屏幕中。。。至少在默认情况下不是这样。我曾尝试在代码中添加菜单和UI标志(见下文),但没有成功。有趣的是,当我启用自定义帖子类型UI插件时,自定义帖子类型在“菜单”屏幕中显示良好(有时)。这似乎向我暗示,我在某个地方遗漏了一个步骤,而且不知何故,自定义帖子类型UI插件设置了该标志,并允许我的自定义帖子类型和分类显示在导航菜单中。php“菜单”屏幕。编辑::以上位已回答。谢谢你,米洛。我应该在“屏幕选项”选项卡中打开它