Intereting Posts
Как получить дочерние категории данного сообщения разные single.php для разных шаблонов страниц Невозможно получить опубликованные сообщения с помощью query_posts Как переместить раздел настройки меню непосредственно в разделе «Идентификация сайта»? Навигация по страницам для списка сообщений Автоматически устанавливать пароль по умолчанию для всех сообщений в определенной категории Можно ли использовать функцию для возврата HTML и результата другой функции? Случайные вхождения 502 Bad Gateway с использованием WordPress и Nginx Страница настройки при первом входе в систему на нескольких сайтах Не удается получить доступ к подкаталогу Как получить все поля Buddy PressProfile без идентификатора пользователя Multi-site vs seperate устанавливает только для 3-х блогов? Добавление meta_key через pre_get_posts приводит к исчезновению навигации В том числе таксономический термин до типа post разбивает страницы верхнего уровня _deprecated_argument для констант

Удалить сообщения мета ключи

У меня есть много мета-ключей, которые я больше не использую, и я пытаюсь выяснить, как их удалить, чтобы они больше не отображались в списке настраиваемых полей на панели администратора.

введите описание изображения здесь

Этот код удалит значения метаданных:

function hp_batch_delete_post_meta(){ // get array of all post ids $post_ids = get_posts( array( 'numberposts' => -1, 'fields' => 'ids', 'post_type' => array('ad_upload','post', 'page'), 'post_status' => array('publish', 'auto-draft', 'trash', 'pending', 'draft'), ) ); // remove post meta for each post foreach( $post_ids as $post_id ) { delete_post_meta($post_id, 'my_postmeta_key_1'); delete_post_meta($post_id, 'my_postmeta_key_2'); delete_post_meta($post_id, 'my_postmeta_key_3'); } } add_action('init', 'hp_batch_delete_post_meta'); 

Но я хотел бы полностью удалить мета-ключи, чтобы они не отображались в этом списке администраторов.

Любая помощь оценивается.

Я нашел это только из поиска Google ( Источник )

Вы должны изменить значения ключей значений так, как хотите. Тем не менее, настоятельно рекомендуется взять резервную копию БД, прежде чем запускать этот код.

 <?php function delete_useless_post_meta() { global $wpdb; $table = $wpdb->prefix.'postmeta'; $wpdb->delete ($table, array('meta_key' => '_edit_last')); $wpdb->delete ($table, array('meta_key' => '_edit_lock')); $wpdb->delete ($table, array('meta_key' => '_wp_old_slug')); } add_action('wp_logout','delete_useless_post_meta'); ?> 

Если вы хотите удалить ключи с помощью определенных подстановочных критериев (как и я), вы можете сделать это непосредственно в SQL.

 DELETE FROM `wp_postmeta` WHERE `meta_key` LIKE 'weather_%'