В сегодняшней статье мы покажем вам как делать все ваши записи в WordPress Личными по-умолчанию. Делать это будем с помощью action post_submitbox_misc_actions и добавления кода на jQuery на страницу для изменения выбранных настроек Видимости записи.
Для начала мы проверим текущий статус записи. Если статус у записи — Опубликовано, тогда мы можем установить Видимость в Открыто.
Затем мы проверяем, заполнено ли поле Пароль у записи. Если пароль установлен, то устанавливаем Видимость в Защищено паролем.
Далее проверяем, является ли запись «прилепленной», и если является, тогда мы изменяем соответствующий статус.
Если текущая запись не соответствует ни одному из статусов выше, тогда мы устанавливаем Видимость в значение «Личное» и задаем такое поведение по-умолчанию для последующих записей.
add_action( 'post_submitbox_misc_actions' , 'default_posts_to_private' );
function default_posts_to_private()
{
global $post;
if ( $post->post_status == 'publish' ) {
$visibility = 'public';
$visibility_trans = __('Public');
} elseif ( !empty( $post->post_password ) ) {
$visibility = 'password';
$visibility_trans = __('Password protected');
} elseif ( $post->post_type == 'post' && is_sticky( $post->ID ) ) {
$visibility = 'public';
$visibility_trans = __('Public, Sticky');
} else {
$post->post_password = '';
$visibility = 'private';
$visibility_trans = __('Private');
}
?>
<script type="text/javascript">
(function($){
try {
$('#post-visibility-display').text('<?php echo $visibility_trans; ?>');
$('#hidden-post-visibility').val('<?php echo $visibility; ?>');
$('#visibility-radio-<?php echo $visibility; ?>').attr('checked', true);
} catch(err){}
}) (jQuery);
</script>
<?php
}
Вот и все, мы надеемся, что эта статья помогла вам установить статус для всех записей в значение «Личное».
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.
