Intereting Posts
Получение jquery для работы с настраиваемой темой Исключить категории из поискового запроса Экспортировать записи и несколько метаданных полей в .csv? Как перенаправить RSS-каналы в Feedburner и сохранить постоянные ссылки? Как получить все медиафайлы из категории сообщений db? Санирование данных поиска для использования с WP_Query Wp получает все вспомогательные страницы родителя, используя запрос wp GIT и URL-адрес разработки для производства Вторая полностью независимая и одноразовая установка WordPress в подкаталоге? Проблемы с доступом к таблицам стилей / скриптам, загружаемым в заголовок WP Блок комментариев WordPress на странице продукта woocommerce Можно ли установить переменную для get_post_meta? Использование запроса WP для поиска по всем клавишам в мета-запросе Глобальная переменная, заданная в header.php шаблона, не может быть эхом в footer.php использование перезаписи для защиты страницы входа в систему

Найдите пустые страницы или страницы с символами меньше 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 тип сообщения.