这里有一种支持搜索的方法post slugs 在后端。
让我们通过调用slug:
搜索词中的字符串。
Example
搜索以
-2
我们希望能够搜索:
slug:*-2
其中*是通配符。
Demo Plugin
这是一个可能需要进一步测试和调整的演示插件:
add_filter( \'posts_search\', function( $search, \\WP_Query $q ) use ( &$wpdb )
{
// Nothing to do
if(
! did_action( \'load-edit.php\' )
|| ! is_admin()
|| ! $q->is_search()
|| ! $q->is_main_query()
)
return $search;
// Get the search input
$s = $q->get( \'s\' );
// Check for "slug:" part in the search input
if( \'slug:\' === mb_substr( trim( $s ), 0, 5 ) )
{
// Override the search query
$search = $wpdb->prepare(
" AND {$wpdb->posts}.post_name LIKE %s ",
str_replace(
[ \'**\', \'*\' ],
[ \'*\', \'%\' ],
mb_strtolower(
$wpdb->esc_like(
trim( mb_substr( $s, 5 ) )
)
)
)
);
// Adjust the ordering
$q->set(\'orderby\', \'post_name\' );
$q->set(\'order\', \'ASC\' );
}
return $search;
}, PHP_INT_MAX, 2 );
这是基于
_name__like
我上一个答案中的插件
here.