WordPress как на ладони
Плагин рекламы для WordPress wordpress jino

Как отключить корзину в WordPress

По умолчанию удаленные записи, страницы и комментарии в WordPress при удалении попадают в корзину, где на протяжении 30 дней остается возможность для их восстановления. Также можно очищать корзину вручную.

WordPress обладает возможностью отключить эту функцию или изменить срок нахождения данных в корзине.

Вот как выглядит в стандартный экран, без внесения изменений в данную функцию:

включенная корзина в wordpress

Для изменения срока хранения в корзине, нужно добавить следующую строку в файл wp-config.php:

define( 'EMPTY_TRASH_DAYS', 7 );

Тут 7 - число дней (по умолчанию 30), после которых данные, которые старше этого срока будут удалены навсегда. Если нужно полностью отключить эту возможность, то добавляем следующее:

define( 'EMPTY_TRASH_DAYS', 0 );

При этом при удалении записи, страницы и комментарии будут удалятся безвозвратно, причем не будет выводится никакого подтверждения для удаления, поэтому нужно быть аккуратным, чтобы не удалить лишнее. Вот как будет выглядеть экран после отключения корзины:

отключенная корзина в wordpress

Вместо удалить появляется ссылка удалить навсегда.

Как отключить корзину для типа записи

Иногда полезно иметь корзину для постов и страниц, но вот для новых созданных типов записей такой функционал совсем не нужен.

Отключить корзину для произвольного типа записи WordPress не позволяет - есть константа, которая отключает корзину полностью или не отключает её вообще.

Обойти этот момент можно через хук wp_trash_post. Допустим нам нужно отключить корзину для типа записи team:

add_action( 'wp_trash_post', 'disable_trash_for_post_type' );
function disable_trash_for_post_type( $post_id ){
	if ( get_post_type($post_id) === 'team' ) {
		wp_delete_post( $post_id, true );
	}
} 

Стоит заметить, что функция wp_delete_post( $post_id, $forse_delete ) отправляет в корзину только записи типа page и post. Т.е. если удалять запись через эту функцию, то любая запись произвольного типа будет удалена на всегда, даже есть не указать параметр $farce delete - принудительное удаление.

Eugene Kopich 100web2033.com
Creative sites for creative people ★ Digital marketing
Как отключить корзину в WordPress Комментариев нет

Здравствуйте, !

Ваш комментарий