不知道大家是否留意到,WordPress 后台仪表盘的“活动”小工具的最近发布文章中,只显示最近发布的文章类型(post)的文章,而我们发布的自定义文章类型或页面类型的文章从未出现过。如果你想让它同时显示文章类型、自定义文章类型,或页面类型的,不妨试试以下代码。
WordPress 后台仪表盘“活动”显示自定义文章类型的做法很简单,只需要将以下代码添加到主题的 functions.php 文件中即可。PS:可以放在在第一个 <?php 的下一行或者最后一个 ?> 的前面。
- /**
- * 仪表盘[活动]小工具输出自定义文章类型
- * https://gist.github.com/Mte90/708e54b21b1f7372b48a
- */
- if ( is_admin() ) {
- add_filter( ‘dashboard_recent_posts_query_args’, ‘wpdx_add_cpt_to_dashboard_activity’ );
- function wpdx_add_cpt_to_dashboard_activity( $query ) {
- // 如果你要显示所有文章类型,就删除下行的 //,并在 11 行前面添加 //
- // $post_types = get_post_types();
- // 如果你仅仅希望显示指定的文章类型,可以修改下行的数组内容,并确保上行前面添加 //
- $post_types = [‘post’, ‘download’];
- if ( is_array( $query[‘post_type’] ) ) {
- $query[‘post_type’] = $post_types;
- } else {
- $temp = $post_types;
- $query[‘post_type’] = $temp;
- }
- return $query;
- }
- }
如果站点使用有很多自定义文章类型,可以不用一一列出,只需要根据代码中的注释内容的方法操作即可。比如修改成以下代码:
- $post_types = get_post_types();
- // $post_types = [‘post’, ‘download’];
拓展阅读
同样道理,默认情况下我们的侧边栏现在的最新文章都是只显示文章类型的文章,如果想要同时显示文章类型和自定义文章类型(bkml),那么只需要参照以下代码即可实现:
- query_posts(array(‘post_type’ => array(‘post’, ‘bkml’)));