Intereting Posts
style.css дочерней темы не переписывает родителей style.css для .box Archive.php отфильтровано по заранее определенной категории Получайте последние сообщения с сайта WordPress без заголовка / меню После изменения параметров плагина Изменить тему php для включения определенной категории в заголовок Как я могу применить обычную санитацию к новым именам пользователей? Записи запроса: как исключить результаты, если сообщение находится в нескольких категориях Изменение permlink и SEO Почтовые запросы по широте и долготе Группировка сообщений с помощью настраиваемой метавыставки Получайте электронные письма от пользователей по настраиваемому полю SQL ZIP все изображения, отображаемые в , и предлагать как ссылку для загрузки Iframe шаблон WordPress Как создавать эскизы для PDF-загрузок? Будет ли автоматическое обновление WordPress вредным для моего сайта?

Поиск сообщений, основанных на их URL-адресе администратора?

На странице администраторов «posts -> all posts» я хотел бы искать и видеть только сообщения с некоторым элементом в своем URL-адресе (например, символ «-3», чтобы указать, что это дубликат сообщения).

Как это может быть сделано?

Solutions Collecting From Web of "Поиск сообщений, основанных на их URL-адресе администратора?"

Вы не можете выполнять такой запрос из пользовательского интерфейса администратора, явно не кодируя его в теме или плагине. Если вы хотите найти все сообщения, заканчивающиеся на -3 в своем имени, я предлагаю запустить SQL-запрос, возможно, связать его с некоторыми манерами WP-CLI:

 wp post list --fields=url --post__in=$(wp db query "SELECT ID FROM wp_posts WHERE post_name LIKE '%-3';" | paste -s -d,) 

Надеюсь, это поможет.

Вот один из способов поддержки поиска сообщений в бэкэнд.

Давайте вызываем этот поиск по строке slug: в поисковом выражении.

пример

Для поиска пули, которые заканчиваются на -2 мы хотим, чтобы можно было искать:

 slug:*-2 

где * – подстановочный знак.

Демо-плагин

Вот демо-плагин, который может потребовать дальнейшего тестирования и настройки:

 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 плагине в моем предыдущем ответе здесь .