管理パネル内のメディア - >ライブラリで、メディアファイルを検索する方法"検索メディア"ボックスにファイル名?メディアライブラリのファイル名で検索
私はファイル名がデータベースの "GUID"列に置かれていることを知っていますが、私はどこでメディア検索を担当するコードを見つけることができるのかわかりません。 MySQL select
。
今すぐpost_title
の列のみを検索します。私も$_REQUEST['s']
を見つけようとしましたが、結果はありませんでした。
管理パネル内のメディア - >ライブラリで、メディアファイルを検索する方法"検索メディア"ボックスにファイル名?メディアライブラリのファイル名で検索
私はファイル名がデータベースの "GUID"列に置かれていることを知っていますが、私はどこでメディア検索を担当するコードを見つけることができるのかわかりません。 MySQL select
。
今すぐpost_title
の列のみを検索します。私も$_REQUEST['s']
を見つけようとしましたが、結果はありませんでした。
私はWordPress Developers #45153で解決策を見つけましたが、ここではすべての関連Qは& Aさんです:
add_filter('posts_search', 'guid_search_so_14940004', 10, 2);
function guid_search_so_14940004($search, $a_wp_query)
{
global $wpdb, $pagenow;
// Only Admin side && Only Media Library page
if (!is_admin() && 'upload.php' != $pagenow)
return $search;
// Original search string:
// AND (((wp_posts.post_title LIKE '%search-string%') OR (wp_posts.post_content LIKE '%search-string%')))
$search = str_replace(
'AND ((',
'AND (((' . $wpdb->prefix . 'posts.guid LIKE \'%' . $_GET['s'] . '%\') OR ',
$search
);
return $search;
}
あり、私は確認する必要がある提案があったが、良いようだ:
変更
$_GET['s']
が$a_wp_query->query_vars['s']
に、これはまた、検索機能はAJAX POST経由で呼び出されたときに動作するように、例えば使用した場合"ギャラリーを作成"ダイアログ。
素晴らしいです。 あなたのテーマカタログの 'functions.php'に入れてください。 ありがとうございました! –
@ Arek-Krakiewicz.pl、それはあなた自身のプラグインを作成することをお勧めします(http://wordpress.stackexchange.com/q/72160/12615);) – brasofilo
これまでのところニートな解決策。しかし、メディア検索は 'guid'値を探すことによって拡張されることに注意してください。これは、deafultによってポストエントリー(それぞれファイルの)のURLです。したがって、あなたのドメインが_example.com_で、アップロードされたメディアファイルの名前が_example-image.jpg_の場合、 "example" **を検索すると、**すべてのファイル**が結果**として取得されます。 – Arvid