Я снова и снова вижу следующую закономерность на этом сайте и в других местах:
add_action( 'save_post', 'wpse14169_save_post' );
function wpse14169_save_post( $post_id )
{
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return $post_id;
}
// Other code...
}
Почему я должен вернуться $post_id
? save_post
является действием, а возвращаемое значение обработчика действия игнорируется. Само ядро WordPress тоже этого не делает.
Пример Кодекса действительно возвращает$post_id
, но это не первая неправильная (или устаревшая) строка в Кодексе.
Я что-то пропустил? Мне нужно вернуться $post_id
? Было ли время, когда это было необходимо?
Для справки вот редакция, которая ввела раннюю версию этого в Кодекс. Я не узнаю логин, вы можете попробовать поискать человека и спросить (если кому интересно).
Действие
'save_post'
было добавлено в ядро в версии 2.0 и всегда было действием. Просматривая текущие процедуры автосохранения, кажется, что он никогда не вызывает'save_post'
действие напрямую.Итак, краткий ответ: нет. Нет причин и никогда не было причин возвращать какое-либо значение этого действия. Конечно, вернуть идентификатор сообщения совсем не помешает.
Поскольку с возвращаемым значением ничего не делается, возвращать идентификатор поста бессмысленно и не следует делать. Это только дает место для путаницы.
Только что попробовал, следующее
save_post
действие работает нормально.