Установите условия публикации при публикации публикации
Я пытаюсь установить условия публикации для публикации, когда она будет опубликована
Я использую следующий код, но он не работает
add_action('pending_to_publish', 'oj_publish_post');
function oj_publish_post($post_id) {
$taxonomy = 'category';
$term_id = array(8);
$term_id = array_map('intval', $term_id);
wp_set_post_terms( $post_id ,$term_id, $taxonomy,true);
}
Но, когда я передаю идентификатор сообщения вручную , т.е. вместо использования post_id. Я использую 773, это работает
add_action('pending_to_publish', 'oj_publish_post');
function oj_publish_post($post_id) {
$taxonomy = 'category';
$term_id = array(8);
$term_id = array_map('intval', $term_id);
wp_set_post_terms( 773 ,$term_id, $taxonomy,true);
}
Что я делаю не так, пожалуйста, помогите
1 answers
Аргументом действия pending_to_publish
, $post_id
в вашем случае является не идентификатор, а массив (обратный вызов для публикации).
Я думаю, что было бы лучше использовать действие publish_post
, таким образом, $post_id
на самом деле будет идентификатором поста.
Также это очень общее действие, поэтому, если у вас несколько типов записей, было бы разумно проверить, является ли текущий тип записи тем, к которому вы хотите добавить термин
Отредактированный ответ
Или в вашем случае вы можете передать идентификатор записи как следующий
add_action('pending_to_publish', 'oj_publish_post');
function oj_publish_post($post) {
$taxonomy = 'category';
$term_id = array(8);
$term_id = array_map('intval', $term_id);
wp_set_post_terms( $post->ID ,$term_id, $taxonomy,true);
}