我正在尝试注册Wordpress菜单,具体取决于ACF字段条件。
$logo = get_field(\'logo\',\'options\');
if ($logo) {
register_nav_menus(array(
\'brand_centered_left\' => __(\'Brand Centered Navigation (Left)\', \'roots\')
));
}
但是,如果我测试此代码,导航将不会显示。它看起来像ACF和功能。php不能很好地协同工作,但我不确定。
我正在nav中添加此代码。php(它包含在my functions.php文件中)。我正在使用Wordpress+ACF 5.0和Wordpress根主题。
有什么想法吗?
编辑
所以我试着直接调用字段:
if (get_field(\'logo\',\'options\')) {
register_nav_menus(array(
\'brand_centered_left\' => __(\'Brand Centered Navigation (Left)\', \'roots\')
));
}
而且很有效!但是,如果我尝试只使用$徽标,它将不会起作用。
奇怪的
最合适的回答,由SO网友:Johann 整理而成
好的,问题是我在函数外添加了变量。经过一些清理后,代码看起来是这样的,它可以工作!
function roots_setup() {
// Variables
$header_type = get_field(\'header_type\',\'options\');
if (($header_type)==\'brand-centered\') {
register_nav_menus(array(
\'brand_centered_left\' => __(\'Brand Centered Navigation (Left)\', \'roots\')
));
register_nav_menus(array(
\'brand_centered_right\' => __(\'Brand Centered Navigation (Right)\', \'roots\')
));
} else {
register_nav_menus(array(
\'primary_navigation\' => __(\'Primary Navigation\', \'roots\')
));
}