问题描述
我需要在管理员中过滤我的帖子 Post-Formats?
我怎样才能做到这一点 ?
现在,Wordpress 允许按类别和日期过滤。
最佳解决方案
尝试这个插件我煮熟了:
<?php
! defined( 'ABSPATH' ) AND exit;
/**
* Plugin Name: (#26032) WP_List_Table Post Format filter extension
* Plugin URI: http://wordpress.stackexchange.com/questions/26032/how-to-filter-by-post-format-in-admin
* Description: Filters the admin WP_List_Table by post format
* Author: Bainternet
* Author URI: http://en.bainternet.info
*/
function wpse26032_admin_posts_filter( &$query )
{
if (
is_admin()
AND 'edit.php' === $GLOBALS['pagenow']
AND isset( $_GET['p_format'] )
AND '-1' != $_GET['p_format']
)
{
$query->query_vars['tax_query'] = array( array(
'taxonomy' => 'post_format'
,'field' => 'ID'
,'terms' => array( $_GET['p_format'] )
) );
}
}
add_filter( 'parse_query', 'wpse26032_admin_posts_filter' );
function wpse26032_restrict_manage_posts_format()
{
wp_dropdown_categories( array(
'taxonomy' => 'post_format'
,'hide_empty' => 0
,'name' => 'p_format'
,'show_option_none' => 'Select Post Format'
) );
}
add_action( 'restrict_manage_posts', 'wpse26032_restrict_manage_posts_format' );
次佳解决方案
实际上,我实际上正在为您解决问题,只需重写代码的几个部分 (因为我基于另一个插件,我写的是相同的,但是对于层次结构类型的页面模板) 。
这比 Bainternet 的插件要大一些,所以一切手段坚持自己的解决方案,如果你对它很满意 (不要觉得有义务切换是我所说的话),我打算发布,为了任何可能感兴趣的人。它适用于任何支持帖子格式的帖子类型。
编辑/更新:决定我可能会把代码放入一个正确的插件,也做了相同的添加页面模板过滤器到层级的帖子类型 (支持页面模板) 。链接下面的任何人感兴趣,
希望有帮助.. 🙂
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。