WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

post_submitbox_start хук-событие . WP 2.7

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

Чтобы добавить текст чуть выше кнопки используйте хук post_submitbox_misc_actions.

Использование

function action_function_name_11() {
	// Действия...
}
add_action( 'post_submitbox_start', 'action_function_name_11' );

Вызов в файле

do_action('post_submitbox_start');

Примеры

  1. Добавим какой-нибудь текст перед кнопкой "опубликовать":
function action_function_name_11() {
	echo "<p>Текст перед кнопкой. Вместо этого текста мы можем, например,
	добавить дополнительную кнопку, по нажатию на которую 
	как-то по особенному обрабатывать публикацию.</p>";
}
add_action( 'post_submitbox_start', 'action_function_name_11' );
post_submitbox_start

Где вызывается хук

post_submit_meta_box()
post_submitbox_start
link_submit_meta_box()
post_submitbox_start
wp-admin/includes/meta-boxes.php 272
do_action( 'post_submitbox_start', $post );
wp-admin/includes/meta-boxes.php 958
do_action( 'post_submitbox_start', null );

Где используется хук (в ядре WP)

Не используется.
4 коммента
  • Дмитрий

    Здравствуйте! А есть ли возможность как-то зацепиться и отфильтровать в метабоксе submitdiv статусы? Что я имею ввиду.
    Я добавил несколько своих статусов и теперь не нужны в определенных типах постов нужно исключить из select статусы Draft и Peding (selected( $post->post_status, 'pending' end selected( $post->post_status, 'draft')

    Мне удалось запретить при публикации поста присваивать ему упомянутые статусы, а вот скрыть не получается. Можно скрыть используя CSS правило:

    select#post_status option[value=draft] { display: none; };
    select#post_status option[value=pending] { display: none; };

    но в этом случае правило не работает в браузере FireFox. То есть таким образом невозможно добиться кроссбраузерности. Не подскажите, может есть возможность как-то отфильтровать статусы или убрать их с помощью unset. Не знаю как зацепиться. Заранее благодарен за любую информацию.

    Ответить1.7 год назад #
    • Kama7099

      А что это за ; после }... Может FF не понимает это... Также попробуй указать !important - display: none!important;

      Ответить1.7 год назад #
      • Дмитрий

        Пробовал, не работает.

        Главное в FireBug показывает, что стиль есть, но не работает. Перелопатил кучу информации (в том числе и буржунет) все как один пишут, что кроссбраузерности добиться с options невозможно.

        Вот думаю, за что зацепиться чтобы как-то отфильтровать из select option value=draft и value=pending. Пока все безрезультатно. Но выход то должен быть.

        Ответить1.7 год назад #
        • Дмитрий

          Эврика! С jQuery работает во всех популярных браузерах. dance

          echo "<script>
          	jQuery(document).ready( function($) {
          		$('select option[value=draft]').hide();
          		});
          	</script>";

          P.S. Может кому-то пригодиться и поможет сэкономить время.

          Ответить1.7 год назад #
Здравствуйте, !     Войти . Зарегистрироваться