действие publish_post не так, как ожидалось - PullRequest
0 голосов
/ 02 декабря 2011

я пытаюсь использовать wp_mail, когда сообщение (создается | обновляется) с помощью действия publish_post

Странно то, что он прекрасно работает при редактировании и существующей записи, то есть все объекты $ post можно получить с помощью:

$post = get_post($post_id);

но когда я использую его в новом сообщении, у него нет объекта сообщения ???

я могу получить переменные, используя глобальный $ _POST, но это сильно раздувает код, проверяя, есть ли он там или сейчас.

я пробовал и другие действия (save_post | wp_insert_post | publish_post-type)

кто-нибудь когда-нибудь имел это?

1 Ответ

0 голосов
/ 07 ноября 2012

Вы должны добавить слушателя к методу publish_post:

add_action('publish_post','do_whatever');

function do_whatever(){
    //what do you do
}

ИЛИ, если вы пытаетесь закодировать его OO-способом, вы можете:

include 'MyObj.php';
$my_obj = new MyObj();

add_action('publish_post', array($my_obj, 'do_whatever'));

//in your object php
class MyObj{
   function do_whatever(){
    //what do you do
   }
}

ПРИМЕЧАНИЕ: эта установка будет делать вызов do_wh независимо от того, сохраняется ли ваша запись / сохраняется автоматически.Вы должны сделать дополнительное кодирование для своей собственной цели.

Нам будет понятно, чего вы хотите достичь, чтобы предложить вам больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...