Intereting Posts
Отображать три разных уровня навигации от wp_nav_menu отдельно? Как перевести несколько установок на одну установку Multisite? Используется ли register_activation_hook? Loop Offset для тегов на основе «Связанные сообщения» обновление привело к исчезновению содержимого страницы Как я могу программно принудительно настраивать постоянные ссылки с помощью моей темы? WPTouch – как удалить короткие коды или сделать функцию коротких кодов Атрибут продукта Woocommerce Постоянная ссылка не работает? Условный оператор if ($ post-> ID == get_the_ID) не работает Насколько безопасен файл wp-config? Архив пользовательских сообщений типа по году и месяцу? Необходимо добавить правило перезаписи, которое добавляет дополнительную информацию о сообщении для URL-адреса Обмен пользователями по нескольким сайтам, каждый из которых находится в собственной базе данных Изменение фильтра даты на странице администратора для настраиваемого типа сообщения для привязки к настраиваемому полю Получение значения поля ACF из дочернего сообщения в пользовательской таксономии

Элементы меню Nav исчезают (но не сразу)

Я работаю над сайтом, на котором исчезают некоторые элементы навигационного меню (от переднего, заднего и базового). Однако отладка чрезвычайно сложна, так как они не исчезают немедленно! В результате я не могу понять, что вызывает удаление.

Больше информации:

  • Кажется, что элементы меню навигации, которые имеют «пользовательский» сорт (например, произвольный URL-адрес, а не пост / страница / категория и т. Д.), Могут быть безопасными. На данный момент я не уверен на 100%.
  • В какой-то момент новые пункты навигационного меню не сохранялись – я бы добавил несколько в меню, нажмите «Сохранить меню», и меню будет сохранено без элементов меню.

Любые предложения по отладке этой особенно неприятной проблемы?

Это на 3.4.1. Я только что обновил до 3.4.2, но сегодня я не могу проверить, что это все еще происходит (хотя у меня нет оснований полагать, что этого не произойдет).

Изменить: я подтвердил, что «пользовательские» навигационные элементы (ссылки на произвольный url, по сравнению с WP page / category / etc.) Не удаляются.

Solutions Collecting From Web of "Элементы меню Nav исчезают (но не сразу)"

Удалили ли вы какие-либо плагины, которые вы, возможно, установили?

Если вы уже пробовали это, и это все еще происходит, я не могу рекомендовать простую установку с этой установкой, но вы попробовали или даже решили создать резервную копию существующей установки, экспортируя свой контент в xml-файл и повторно устанавливая с чистой базой данных и без каких-либо плагинов, чтобы начать с вас, просто вы желанная тема? Новая версия должна иметь стандартный (нестандартный код) в основных файлах. Прежде чем импортировать содержимое, попробуйте настроить меню и посмотреть, все ли это происходит. Если это так, вы можете исключить поврежденную базу данных, и я думаю, что было бы безопасно сказать, что проблема лежит где-то в ваших файлах тем.

Просто не забудьте указать свои текущие значения основных опций, прежде чем очистить их чистой установкой.

Журнальные запросы

Поскольку в вопросе говорится, что «это не всегда бывает», трудно сказать, что происходит на самом деле. Когда вы не можете видеть, что происходит (запрос в фоновом режиме) и не знаете, когда это произойдет, тогда лучше всего зарегистрировать его.

Регистратор

При активации плагин попытается создать каталог журнала с именем 'nav_log' в папке temp – он выкинет и выведет ошибку, если это не сработает.

Затем он попытается записать файл с именем 'nav_log.txt' внутри временного 'nav_log.txt' . Вы должны каждый раз получать запись в nav_menu_item , запускается запрос для nav_menu_item . Ymd g:i:s будут иметь префикс с датой ( Ymd g:i:s ). Итак, пока вы держите глаза открытыми и пытаетесь поймать изменения в пользовательском интерфейсе, вы должны быть в состоянии сказать, когда и когда это произойдет. Я также добавил глобальный $hook_suffix чтобы (возможно) помочь определить, когда это произойдет.

Отказ от ответственности: плагин нуждается в некоторой любви и не будет работать из коробки. Файловая система сложна, а плагин – всего лишь эскиз / идея.

 <?php ! defined( 'ABSPATH' ) AND exit; /** Plugin Name: (#64487) »kaiser« log nav menu query */ # Version: 2012-09-17.0924 if ( ! class_exists( 'wpse64487_query_logger' ) ) { register_activation_hook( __FILE__, array( 'wpse64487_query_logger', 'create_log_dir' ) ); add_action( 'plugins_loaded', array( 'wpse64487_query_logger', 'init' ), 5 ); class wpse64487_query_logger { public static $instance; public $name = 'nav_log'; public static function init() { null === self :: $instance AND self :: $instance = new self; return self :: $instance; } public function __construct() { add_filter( 'posts_where', array( $this, 'ask_where' ) ); } public function create_log_dir() { $output = true; // Relative to the Temp Dir if ( ! wp_mkdir_p( $this->get_log_loc() ) ) $output = new WP_Error( __CLASS__, 'Log Dir creation failed.' ); is_wp_error( $output ) AND print $output->get_error_message( __CLASS__ ); } public function get_log_loc( $full = false ) { $output = trailingslashit( get_temp_dir()."{$this->name}" ); $full AND $output .= "{$this->name}.txt"; return $output; } public function ask_where( $where ) { if ( "`post_type` = 'nav_menu_item'" === $where ) { add_filter( 'posts_clauses', array( $this, 'catch_query' ) ); } return $where; } public function catch_query( $pieces ) { global $wp_filesystem, $hook_suffix; $file = $this->get_log_loc( true ); $contents = $wp_filesystem->get_contents( $file ); // Append current query $contents .= "\n\n@".date( "Ymd g:i:s" ); $contents .= "\n Query: ".implode( ' ', $pieces ); $contents .= "\n Page: {$hook_suffix}"; $wp_filesystem->put_contents( $file ,$contents ,FS_CHMOD_FILE ); return $pieces; } } // END Class wpse64487_query_logger } // endif;