如何查询所有可用的公共职位类型和分类?

时间:2015-05-10 作者:Benn

我一直在寻找这个,但每个发布解决方案的人都只是通过以下方式从特定菜单返回可用的菜单项

wp_get_nav_menu_items( $menu, $args );
或者类似的东西。

我想要的是这个http://prntscr.com/73oas5 在单个阵列中。

我想做的是限制边栏显示在特定页面上,而不是一直显示。我已经准备好了,但需要所有页面、帖子、分类ID的列表

非常感谢您的帮助。

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

有几种方法可以回答这个问题,这取决于您试图实现的目标。一般来说,您需要创建两个查询:一个用于获取所有公共帖子,另一个用于获取所有公共分类法和术语。由于术语对象和post对象的格式不同,将两者都放在一个数组中并不实用,但是您可以从生成的两个数组中构建自己的数组。

WordPress查询可以在中构造a number 属于different ways 使用WP_Query parameters. 或者,其他各种函数为您执行预构建的查询。

简而言之,您可能正在寻找类似的东西(未经测试-可能需要一些工作):

$public_taxonomies = get_taxonomies( Array( \'public\' => true ) );
$terms = get_terms( $public_taxonomies ); // Get ALL terms from all public taxonomies

$public_post_types = get_post_types( Array( \'public\' => true ) );
$posts = get_posts( Array(
  \'posts_per_page\' => -1                  // Get ALL posts...
  \'post_type\'      => $public_post_types, // ...of the public post types...
  \'post_status\'    => \'publish\'           // ...that are published.
) );
请注意,这对性能有很大影响,尤其是在大型网站上。。。一次返回站点上几乎所有的内容不是一件小事。最好使用pagination parameters, 或者使用Transients API, 如果可能的话。

结束

相关推荐

注册_NAV_MENUS,然后以编程方式创建菜单

我有一个register_nav_menus 调用我的主题函数。php://register nav menu and footer nav. register_nav_menus( array( \'main-nav\' => \'Main Navigation\', \'footer-nav\' => \'Footer Navigation\' ) ); 这很好,但我想采取额外的步