@MilkyWay

Экшены в wordpress — что нужно добавить для выполнения?

Подскажите, что нужно добавить в экшн в плагине, чтобы при вставке записи средствами php функцией wp_insert_post он выполнялся? add_action('publish_post', 'test');
При публикации поста через админку, экшн отрабатывает, а вот средствами php - нет.
  • Вопрос задан
  • 2714 просмотров
Пригласить эксперта
Ответы на вопрос 3
maxxannik
@maxxannik
Сайты на WordPress + Интернет магазины WooCommerce
add_action('publish_post', 'test');
function test( $post_ID) {
add_post_meta( $post_ID, 'work_or_not_work', 'yes');
return $post_ID;
}

вот такой сделайте. если после этого у поста появилась мета с ключем work_or_not_work и значением yes, значит все ок.

а далее просто поменяйте содержимое функции.
Ответ написан
надо посмотреть в исходник функции, найти там вызываемые экшны и использовать их
https://core.trac.wordpress.org/browser/tags/3.8.1...
Ответ написан
Комментировать
v_decadence
@v_decadence
Как и сказал @zelenin, можно заглянуть в исходники. В конце функции wp_insert_post есть такие строки:
do_action( "save_post_{$post->post_type}", $post_ID, $post, $update );
do_action( 'save_post', $post_ID, $post, $update );
do_action( 'wp_insert_post', $post_ID, $post, $update );

Соответственно, можно использовать add_action для "save_post" или "wp_insert_post". Сам не проверял, но должно работать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы