Проверка - это одиночный() внешний цикл
Как я могу проверить, есть ли идентификатор is_single()
вне цикла в плагине?
Когда я пытаюсь это сделать, я всегда получаю фатальную ошибку Код
add_action('transition_post_status', 'pmc_update_notification',10,3);
function pmc_update_notification($new_status, $old_status, $post) {
if ( $old_status == 'publish' && $new_status == 'publish' ) {
$post_id = get_the_ID($post);
if (is_single($post_id)){
$post_title = get_the_title($post);
$post_url = get_permalink($post);
$message = __('Post updated','pmc').":\n";
$message .= $post_title . ": " . $post_url;
// Send notification
pmc_send($message);
}
}
}
1
Author: Deniz Celebi, 2014-04-04
1 answers
В вашем примере вы не можете.
Согласно Кодексу,
[
is_single()
] проверяет, отображается ли одна запись любого типа записи, кроме типов записей вложений и страниц.
Вы пытаетесь использовать его на крючке transition_post_status
, который не связан с отображением страницы, и поэтому is_single()
не имеет смысла.
Решение
Вместо использования is_single()
используйте get_post_type()
:
if( 'post' == get_post_type( $post ) ) {
// code goes here
}
3
Author: Pat J, 2014-04-04 19:42:25