@html_student
Молодой и глупый.

Что выполняет данная функция и как добавить условие?

Познаю азы wordpress,
add_action( 'transition_post_status', function ( $new_status, $old_status, $post ) {
			if ( "post" == $post->post_type && 'publish' === $new_status ) {
				delete_transient( self::$cache_filed );
			}
		}, 10, 3 );


Как я понимаю что она смотрит события смены статуса поста и уже чистит кэш.
Вопрос такого плана, а если у меня есть есть тип поста event
то правильно ли будет написать
add_action( 'transition_post_status', function ( $new_status, $old_status, $post ) {
			if ( "post" == $post->post_type && 'publish' === $new_status || "event" == $post->post_type && 'publish' === $new_status ) {
				delete_transient( self::$cache_filed );
			}
		}, 10, 3 );
  • Вопрос задан
  • 25 просмотров
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Интересные у вас азы) Можно чуть сократить с помощью проверки текущего post_type в массиве

add_action( 'transition_post_status', function ( $new_status, $old_status, $post ) {
	if ( in_array( $post->post_type, ['post', 'event'] ) && 'publish' === $new_status ) {
		delete_transient( self::$cache_filed );
	}
}, 10, 3 );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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