Intereting Posts
Категория распаковки Wp не отображается как заголовок Как я могу остановить функцию от кодирования объекта? Удаление некоторых страниц из поиска Пользовательские данные типа ввода в виджетах боковой панели? Почему @import не должен использоваться для импорта родительской темы в дочернюю тему? Как файл WXR отличается от WPDB? Как WP media uploader создает 3 изображения разных размеров и как их дублировать Найти первое вхождение настраиваемого поля Как отключить «Блокировка отправки / редактирования»? Как создать плагин типа cronjob Может ли администратор WordPress видеть пароли других пользователей? Как обеспечить, чтобы кусок жесткого кода вызывался только на моей странице блога? Могу ли я динамически создавать повторяющиеся поля с помощью API настроек? Добавить itemprop Schema.org Markup to li Элементы в wp_nav_menu Запретить img-тег в комментариях?

Показать окно только для редактирования

Я создал видео-пользовательский тип сообщения, а на странице редактирования я разместил мета-поле, где я показываю короткий код, связанный с этим сообщением, чтобы сделать его проще для пользователя.

Тем не менее, я хочу, чтобы шорт-код и / или ящик отображались только на странице редактирования сообщений, а не на новой странице сообщений, где это еще не актуально – что я здесь ищу? У меня есть это придирчивое чувство, что я сделал это / что-то подобное раньше, но просто не могу придумать, что искать.

ETA: Это то, что я сделал с помощью помощи, которую я получил ниже, может быть полезен и для кого-то еще:

add_action( 'add_meta_boxes', 'my_video_add_custom_box' ); function my_video_add_custom_box() { if (get_post_status( $post->ID ) != 'auto-draft') { add_meta_box( 'my_video_shortcode_custom_box', __( 'Shortcode', 'my_video' ), 'my_video_shortcode_custom_box', 'my_video', 'side', 'default' ); } } 

Работает как шарм, спасибо!

Solutions Collecting From Web of "Показать окно только для редактирования"

Проверьте состояние сообщения, используя get_post_status ($ ID), а затем отобразите html-код в соответствии со статусом. (т. е.) Вы можете просто использовать условие else в вашем файле шаблона php для отображения различного контента на основе состояния сообщения. Я думаю, что новые сообщения имеют статус авто-черновика. get_post_status codex должен быть полезен.

Ваше решение, неправильно отправленное как редактирование вопроса, дайте мне «неопределенную переменную» Notice для $post . Он работает, потому что цепочка вызовов функций, вызванных get_post_status конечном счете, если все остальное не работает, принимает global переменную $post .

Лучшим решением было бы перевести условное из регистрационной функции и в обратный вызов, которому передается переменная $post в ядре WordPress.

 add_action( 'add_meta_boxes', 'my_video_add_custom_box' ); function my_video_add_custom_box() { add_meta_box( 'my_video_shortcode_custom_box', __( 'Shortcode', 'my_video'), 'my_video_shortcode_custom_box', 'my_video', 'side', 'default' ); } function my_video_shortcode_custom_box($post) { if (get_post_status( $post->ID ) != 'auto-draft') { // your box code } }