问题描述

我需要在管理员中过滤我的帖子 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。