Я создал опцию настройщика Wordpress, чтобы отображать хлебные крошки. Независимо от того, что он установлен, он всегда показывает. Он не должен отображаться, если установлено значение none.
Функции.php
/* MAIN SETTINGS - Breadcrumb Setting */
$wp_customize->add_setting('swag_main_breadcrumb_top_homepage', array(
'default' => 'main-breadcrumb-top-homepage-none'
));
$wp_customize->add_control('swag_main_breadcrumb_top_homepage', array(
'label' => 'Top Breadcrumb On Homepage',
'section' => 'swag_main_design_section',
'active_callback' => 'main_show_breadcrumb_settings_callback',
'type' => 'select',
'choices' => array(
'main-breadcrumb-top-homepage-none' => __('None'),
'main-breadcrumb-top-homepage-design-1' => __('Design 1'),
'main-breadcrumb-top-homepage-design-2' => __('Design 2'),
'main-breadcrumb-top-homepage-design-3' => __('Design 3'),
)
));
/* MAIN SETTINGS - Breadcrumb Setting */
$wp_customize->add_setting('swag_main_breadcrumb_top_otherpage', array(
'default' => 'main-breadcrumb-top-otherpage-none'
));
$wp_customize->add_control('swag_main_breadcrumb_top_otherpage', array(
'label' => 'Top Breadcrumb On Otherpage',
'section' => 'swag_main_design_section',
'active_callback' => 'main_show_breadcrumb_settings_callback',
'type' => 'select',
'choices' => array(
'main-breadcrumb-top-otherpage-none' => __('None'),
'main-breadcrumb-top-otherpage-design-1' => __('Design 1'),
'main-breadcrumb-top-otherpage-design-2' => __('Design 2'),
'main-breadcrumb-top-otherpage-design-3' => __('Design 3'),
)
));
Заголовок.php
$swag_main_breadcrumb_top_homepage = get_theme_mod('$swag_main_breadcrumb_top_homepage');
if (isset($swag_main_breadcrumb_top_homepage) && $swag_main_breadcrumb_top_homepage=='') {
$swag_main_breadcrumb_top_homepage ='';
}
$swag_main_breadcrumb_top_otherpage = get_theme_mod('$swag_main_breadcrumb_top_otherpage');
if (isset($swag_main_breadcrumb_top_otherpage) && $swag_main_breadcrumb_top_otherpage=='') {
$swag_main_breadcrumb_top_otherpage ='';
}
<?php
if (is_front_page()) {
if (isset($swag_main_breadcrumb_top_homepage) && $swag_main_breadcrumb_top_homepage !='main-breadcrumb-top-homepage-none') {
swag_breadcrumb();
}
} else {
if (isset($swag_main_breadcrumb_top_otherpage) && $swag_main_breadcrumb_top_otherpage !='main-breadcrumb-top-otherpage-none') {
swag_breadcrumb();
}
}
?>
Что я делаю не так и как это исправить?
@DhananjayKyada выдает фатальную ошибку, если я это сделаю
Нет, это не должно выдавать фатальную ошибку, потому что нам нужно передать имя настройки в "get_theme_mod()". Если он выдает исключение, пожалуйста, вставьте сюда.
@DhananjayKyada, ты прав, моя ошибка. Я удалил его из неправильного бита. Хотя не исправил. Для меня все выглядит правильно, но все еще не работает.
@DhananjayKyada Я нашел несколько опечаток, которые сделал после того, как написал этот пост. С вашей помощью эта проблема решена. Поставь это как свой ответ, и я выберу его.






Похоже, в вашем коде опечатка. Например
get_theme_mod('$swag_main_breadcrumb_top_otherpage')
должно быть как
get_theme_mod('swag_main_breadcrumb_top_otherpage').
Я думаю, что get_theme_mod('$swag_main_breadcrumb_top_homepage') должен быть get_theme_mod('swag_main_breadcrumb_top_homepage'). Из-за $ это может работать некорректно.