Как скрыть публичный пост, содержащий пользовательские поля плагина ACF - PullRequest
0 голосов
/ 13 марта 2019

У меня есть сообщение, где пользователь может изменять все тексты сайта в пользовательских полях, созданных с помощью плагина ACF.Дело в том, что я не хочу, чтобы этот пост показывался вообще на любой странице.Я попытался изменить его статус на частный, но это заставляет все тексты из пользовательских полей исчезать с сайта.Как я могу отфильтровать только этот конкретный пост из списков всех постов?Есть ли какой-нибудь способ отфильтровать его в functions.php?

РЕДАКТИРОВАТЬ: я использую PRO версию, на случай, если кто-нибудь задумывается об этом.

1 Ответ

1 голос
/ 13 марта 2019

Почему вы хотите хранить all site texts in custom fields в сообщении?Вы могли бы лучше зарегистрировать страницу параметров и хранить все детали там.Если вам не нужно скрывать какие-либо сообщения.

Зарегистрируйте страницу параметров acf:

<?php
// Add main options page
acf_add_options_page( array(
    'page_title'     => __( 'Options', 'textdomain' ),
    'menu_title'     => __( 'Options', 'textdomain' ),
    'menu_slug'      => 'theme-options',
    'capability'     => 'manage_options',
    'position'       => 999
) );
add_filter('init', 'options_pages');
?>

Чтобы получить поля со страницы параметров, необходимо передать параметр 'option' вget_field() или the_field(), например:

<?php echo get_field('your-field-name', 'option'); ?>

Подробнее о полях параметров можно прочитать в документации ACF: https://www.advancedcustomfields.com/add-ons/options-page/ https://www.advancedcustomfields.com/resources/acf_add_options_page/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...