在媒体库中搜索时忽略圆点吗?

时间:2015-09-08 作者:RhymeGuy

正如标题所说,在媒体库中,有可能忽略搜索字段中的点吗?

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

忽略点的步骤(.) 在搜索参数中s, 对于所有后端搜索,我们可以使用:

/**
 * Ignore dots in all backend searches
 */
add_action( \'pre_get_posts\', function( \\WP_Query $q ) 
{
    if ( is_admin() && $q->is_search() )
        $q->set( \'s\', str_replace( \'.\', \'\', $q->get( \'s\' ) ) );
} );
我们可以进一步限制list 媒体库的模式:

/**
 * Ignore dots in all media library searches, for the \'list\' mode
 */
add_action( \'pre_get_posts\', function( \\WP_Query $q ) 
{
    if (  
            is_admin() 
         && $q->is_search() 
         && $q->is_main_query() 
         && \'upload\' === get_current_screen()->id 
         && \'list\' === filter_input( INPUT_GET, \'mode\' ) 
    )
        $q->set( \'s\', str_replace( \'.\', \'\', $q->get( \'s\' ) ) );     
} );
如果我们只想针对ajax搜索,那么包括grid 媒体库和插入媒体弹出窗口的模式:

/**
 * Ignore dots in ajax searches
 */
add_filter( \'ajax_query_attachments_args\', function( $args ) 
{
    if( isset( $args[\'s\'] ) ) 
        $args[\'s\'] = str_replace( \'.\', \'\', $args[\'s\'] );
    return $args;
} );

相关推荐

为内置钩子调用do_action和Apply_Filters是否安全?

我正在开发一个插件,它需要复制一些内置的WordPress逻辑。(此逻辑不能用任何内置方法调用,也不能独立连接到。)在这个动作序列中,WordPress的正常行为是调用动作挂钩(do_action(\'wp_login\', ...)) 和过滤器挂钩(apply_filters(\'login_redirect\', ...)).如果在对应于在Core中调用它们的时间点调用它们,那么直接从我的插件调用这些内置钩子是否安全(并且是可以接受的做法)?或者,其他与此相关的开发人员期望在非常特定的时间执行操作的风