Intereting Posts
Я не могу искать пользователей через user nicename Возможно ли правильно упорядочить столбцы сообщений, упорядоченные по произвольному порядку? Как переопределить файлы шаблонов в родительской теме? Комментарии не работают? Как передать переменные из одной функции в другую или объединить функции Пользовательский тип сообщения непреднамеренно вызывается на каждой странице wp Query Сообщения для отображения в Nivo Slider Как мне указать в бэкэнд всех пользователей, которым была назначена пользовательская роль? Как отображать CPT-архивы? Архивная страница, если еще не работает для post_excerpt и post_content Оптимизация скорости $ wpdb-> get_results Изменить автора для настраиваемого типа сообщения Получить миниатюру сообщения с помощью wp_query Разрешить сохранение нескольких параметров в одном параметре в Настройке тем Как вставить виртуальный виджет (т.е. без добавления его в базу данных) на боковую панель

Найдите пустые страницы или страницы с символами меньше x

После массового импорта я понимаю, что у меня довольно много страниц, которые содержат пустой контент или менее 100 символов. Я бы хотел, чтобы buld удалял их, но я не могу найти плагин, чтобы найти их все. Любая идея, как я могу это сделать? Может быть, через phpmyadmin?

Solutions Collecting From Web of "Найдите пустые страницы или страницы с символами меньше x"

Вот один из способов сделать это:

Расширение таблицы списка сообщений

Предположим, мы хотим настроить таргетинг на тип post post.

Пользовательский интерфейс, которым мы пользуемся, следующий:

сообщений

где мы можем просто упорядочить по длине содержимого сообщения, а затем использовать объемную функцию для удаления сообщений, которые пусты.

Мы можем достичь этого в четыре этапа:

Шаг 1

Добавьте столбец « Длина» рядом с столбцом « Название» :

 add_filter('manage_post_posts_columns', function ( $columns ) { $_columns = []; foreach( (array) $columns as $key => $label ) { $_columns[$key] = $label; if( 'title' === $key ) $_columns['wpse_post_content_length'] = __( 'Length' ); } return $_columns; } ); 

Шаг 2

Заполните этот столбец значениями длины сообщения:

 add_action( 'manage_post_posts_custom_column', function ( $column_name, $post_id ) { if ( $column_name == 'wpse_post_content_length') echo mb_strlen( get_post( $post_id )->post_content ); }, 10, 2 ); 

Шаг 3

Сделайте нашу колонку « Длина» упорядоченной:

 add_filter( 'manage_edit-post_sortable_columns', function ( $columns ) { $columns['wpse_post_content_length'] = 'wpse_post_content_length'; return $columns; } ); 

Шаг №4

Наконец, мы реализуем порядок через фильтр posts_orderby :

 add_filter( 'posts_orderby', function( $orderby, \WP_Query $q ) { $_orderby = $q->get( 'orderby' ); $_order = $q->get( 'order' ); if( is_admin() && $q->is_main_query() && 'wpse_post_content_length' === $_orderby && in_array( strtolower( $_order ), [ 'asc', 'desc' ] ) ) { global $wpdb; $orderby = " LENGTH( {$wpdb->posts}.post_content ) " . $_order . " "; } return $orderby; }, 10, 2 ); 

Заметки

Если вы хотите настроить таргетинг на другие типы сообщений, мы просто должны изменить

 manage_post_posts_columns -> manage_{POST_TYPE}_posts_columns manage_post_posts_custom_column -> manage_{POST_TYPE}_posts_custom_column manage_edit-post_sortable_columns -> manage_edit-{POST_TYPE}_sortable_columns 

где POST_TYPEPOST_TYPE тип сообщения.