【Wordpressの管理画面カスタマイズ】パーマリンク・スラッグの検索をできるようにカスタマイズしてみた
多言語サイトを制作していると、記事タイトルが中国語とか韓国語とかで全く何の記事かわからないときがある。
なのでパーマリンク(スラッグ)で検索したいという要望があったので、作ってみた(●´ω`●)
ソースはこちら。
function.phpの適当なところにいれてみたら、絞り込み検索の枠を新しく追加し、検索をすることができた。
投稿ページと固定ページで検索OK(●´ω`●)
でもスラッグに日本語が入っていると検索に引っかからない・・・。英語だけね。
なんでだかわからない。
誰かわかる方はおしえてくれろ。
ちなみに参考サイトは下記です。ここのソースをちょちょいと改変しました。
[WordPress] 管理画面の投稿一覧にカスタムフィールドの値での絞り込み検索を追加する
ありがとうございます。
なのでパーマリンク(スラッグ)で検索したいという要望があったので、作ってみた(●´ω`●)
ソースはこちら。
add_filter('query_vars', function($vars){
array_push($vars, 'my_meta_key');
return $vars;
});
add_action('restrict_manage_posts', function(){
printf(
'',
'my_meta_key',
esc_attr(get_query_var('my_meta_key'))
);
});
add_filter('posts_where', function( $where ) {
global $wpdb;
if ( !is_admin() )
return $where;
$value = get_query_var('my_meta_key');
if ( !empty($value) ) {
$where .= $wpdb->prepare("
AND EXISTS (
SELECT 'x'
FROM {$wpdb->postmeta} as m
WHERE m.post_id = {$wpdb->posts}.ID
AND otwp_posts.post_name like %s
)",
"%{$value}%"
);
}
return $where;
});
function.phpの適当なところにいれてみたら、絞り込み検索の枠を新しく追加し、検索をすることができた。
投稿ページと固定ページで検索OK(●´ω`●)
でもスラッグに日本語が入っていると検索に引っかからない・・・。英語だけね。
なんでだかわからない。
誰かわかる方はおしえてくれろ。
ちなみに参考サイトは下記です。ここのソースをちょちょいと改変しました。
[WordPress] 管理画面の投稿一覧にカスタムフィールドの値での絞り込み検索を追加する
ありがとうございます。