Возможный добавить meta поле к edit.php страницам?

Я гуглил это некоторое время и столкнулся с этой ссылкой здесь: я могу ограничить это meta поле конкретной страницей?

Чего я пытаюсь достигнуть, добавляет пользовательский Meta Boxe, которого я создал на Экран Сообщений CPT (edit.php?post_type=custom).

То, что я пытался использовать, является этим:

add_action("admin_init", "admin_init");
function admin_init() {
   global $pagenow, $page;
      if ( 'edit.php' == $pagenow ) {
         add_meta_box( $id, $title, $callback, $post_type, $context, $priority, $callback_args );
      }
}

При добавлении и сохранении этого в мой functions.php, страница поворачивает пробел.

Даже возможно добавить meta поле к edit.php страницы?


РЕДАКТИРОВАНИЕ OP хочет добавить функциональность "QuickPress" в этом meta поле. Снимки экрана от комментариев до ответа.

enter image description here

0
13.04.2017, 15:37
3 ответа

Из Вашего комментария это кажется, что Вы не хотите метаполе. Метаполе используется, чтобы добавить метаданные к конкретному сообщению, не создать новое сообщение с нуля. То, что это кажется, что Вы хотите сделать, создают виджет, чтобы сделать то, что Вы хотите и затем вызываете его посредством действия или фильтра в вершине/конце страницы. Можно использовать существующий Быстрый виджет панели инструментов Сообщения в качестве базы.

0
20.02.2020, 01:56
  • 1
    Спасибо Gary, спасибо за направление. Существует ли функция, которую я могу использовать для отображения виджета QuickPress на страницу CPT Posts List? Я предполагаю, что должен буду копировать виджет (создайте новый), и запустите оттуда. То, на чем я буду потерян, - то, как назвать виджет для отображения к определенной администраторской странице. Спасибо за справку снова. –  Roc 05.03.2013, 04:51
  • 2
    ответа, Ожидают Что? Таким образом, Вы хотите, чтобы быстрая ссылка нажатия обнаружилась где? В соответствии с главным меню Вашего CPT? Поскольку это - ПОЛНОСТЬЮ другой вопрос. –  Brooke. 05.03.2013, 07:30
  • 3
    я хочу, чтобы QP показал под edit.php страницей. Я смог выполнить это, но это только опубликует в "Сообщение" по умолчанию. Присоединенный снимок экрана того, как это смотрит. Это действительно показывает и отправляет правильно. Однако то, что я продолжаю работать теперь, то, как к любой a. перезагружать таблицу, или b. перезагрузке вся страница. В настоящее время При отправлении сообщения QP, "Сообщение по умолчанию Публикует" сообщение, появляется, с сообщением, не показывающим в таблице (который является тем, что я знал, произойдет). Я проложил себе путь для перезагрузки страницы на onclick кнопки Publish, но это не сохраняет сообщение. i.imgur.com/QKHkEqs.jpg –  Roc 05.03.2013, 19:16

Обновление - Таким образом, я могу перезагрузить страницу после сообщения, сохраняется, но я знаю, что это - немного "hacky". В основном, когда Вы отправляете сообщение QP, рендеринг формы для отображения сообщения "обновления".

Что я сделал была добавлена функция JQuery для перезагрузки страницы каждый раз, когда "#dashboard_quick_press .updated" показан.

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

<script type="text/javascript">
   jQuery(function($)  {
      $("#dashboard_quick_press .updated").each( function() {
         location.reload();
      });
   });
</script>

__

Новый JS для обновления wp-list-table вместо того, чтобы перезагрузить всю страницу:

<script type="text/javascript">
   jQuery(function($)  {
      $("#dashboard_quick_press .updated").each( function() {
         $("#posts-filter").load('/supreme/wp-admin/edit.php #posts-filter'); 
         return false;
      });
   });
</script>
0
20.02.2020, 01:56
  • 1
    Ваш комментарий к ответу Gary должен быть добавлен как разъяснение к самому Вопросу. Я только понял Q полностью после наблюдения того снимка. У Вас есть эта работа? Как Вы заставляли meta поле появиться на том экране? –  brasofilo 21.03.2013, 13:49

Рассмотрите этот код:

global $pagenow, $page;
if ( 'edit.php' = $pagenow && '123' == $post->ID ) {
    add_meta_box( $args );
}
-1
20.02.2020, 01:56
  • 1
    Можно ли объяснить, почему это работает? –  Brian Fegter 21.03.2013, 14:05
  • 2
    'edit.php' = $pagenow не будет работать, поскольку это пытается присвоиться $pagenow к строке 'edit.php'... Также: Вы не используете $page где угодно. Почему вызов это от глобального пространства имен? И затем Вы звоните ID от (возможно глобальный) $post объект. Это действительно не будет работать. Больше ошибок, чем строки кода :P –  kaiser 21.03.2013, 14:53

Теги

Похожие вопросы