我有一个帖子,用户可以在其中修改使用ACF插件创建的自定义字段中的所有站点文本。问题是,我不希望该帖子在任何页面上都显示。我尝试将其状态更改为私有,但这会使自定义字段中的所有文本从网站上消失。如何从所有帖子列表中仅过滤出该特定帖子?有什么方法可以在functions.php中将其过滤掉?
编辑:我正在使用PRO版本,以防万一有人对此感到疑惑。
答案 0 :(得分:1)
您为什么要在帖子中存储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/