Is_soronomy()的替代方案,以解决主题的默认侧栏

时间:2012-03-27 作者:WouterB

我的Wordpress主题使用了“sidebar.php”文件中的一些代码,告诉它某些页面应该始终使用默认的侧栏。这很好,直到我发现每个自定义分类法(例如:“taxonomy mountains.php”)页面都默认为这个默认侧栏。

我想用is_taxonomy(), 但这已被弃用,行不通。有没有更好的程序员知道我现在如何解决这个问题。类似于if(is_taxonomy(\'mountains\')){} 会很好的。下面的代码是一段摘录,如果您认为缺少什么,请告诉我。

//Default sidebar
$selected_sidebar_replacement = \'Sidebar Widgets\';

//If is page or single
if(is_singular()){
global $wp_query;
$post = $wp_query->get_queried_object();
$selected_sidebar_replacement = get_post_meta($post->ID, \'sbg_selected_sidebar_replacement\', true);

//If default selected
if($selected_sidebar_replacement == \'0\' || $selected_sidebar_replacement == \'\'){
$selected_sidebar_replacement = \'Sidebar Widgets\';
                    }

// Reset the global $the_post
wp_reset_query();

                }

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

替换的函数is_taxonomy() 已命名taxonomy_exists(). 还有is_tax()is_tag() 检查查询是否针对分类法归档页。

EDIT

$selected_sidebar_replacement == \'0\' || $selected_sidebar_replacement == \'\' 行不通。您没有检查类型。

最好这样做:

if ( ! $selected_sidebar_replacement OR emtpy( $selected_sidebar_replacement ) )

结束

相关推荐

Taxonomy Checkbox Admin Panel

我有一个基本的管理面板,允许管理员使用复选框保存选项。复选框的使用是因为该选项需要多选因此,管理选项-复选框1-复选框2-复选框3等我的复选框是动态生成的,使用<input type=\"checkbox\" name=\"firm\" id=\"firm-<?php echo esc_attr( $term->slug ); ?>\" value=\"<?php echo esc_attr( $term->slug ); ?>\" <?php checke