apply_filters( string $tag, mixed $value );
创建过滤器。
$tag(字符串)(必须)过滤器的名字。
$value(混合)(必须)要过滤的值,如果没人过滤则直接返回这个值。
例:
<?php
echo apply_filters('the_content', '
');?>
apply_filters( string $tag, mixed $value );
创建过滤器。
$tag(字符串)(必须)过滤器的名字。
$value(混合)(必须)要过滤的值,如果没人过滤则直接返回这个值。
例:
<?php
echo apply_filters('the_content', '
');?>
function cat_slug(){
$cat = get_query_var('cat');
$yourcat = get_category($cat);
return $yourcat->slug;
}
$category = get_the_category(); echo ‘cat-‘.$category[0]->slug;
子模板与父级模板相同
function category_template($template){ $category = get_queried_object(); if($category->parent !='0'){ while($category->parent !='0'){ $category = get_category($category->parent); } } $templates = array(); if ( $category ) { $templates[] = "category-{$category->slug}.php"; $templates[] = "category-{$category->term_id}.php"; } $templates[] = 'category.php'; return locate_template( $templates ); } add_filter('category_template', 'category_template');
子模板与父级模板不同
function get_category_parent($parent) { global $cat; $parent=get_category($cat); if($parent->parent)return ture; else return false; }
<body <?php body_class(); ?> data-XXX="<?php if(wp_is_mobile()){ echo 'example';} ?>"></body> body[data-XXX=example] { css: }
例1.输出term相关信息
<ul class="products"> <?php $terms = get_terms('category',array( 'with_thumbnail' => true, 'hide_empty' => false, ) ); if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ foreach ( $terms as $term ) {?> <li> <a href="<?php echo get_term_link($term->term_id) ?>"> <div class="term-pic"> <?php the_term_thumbnail($term ->term_id, 'post-thumbnail');?> </div> <div> <h3> <?php echo $term->name;?> </h3> <div> <?php echo $term->description;?> </div> </div> </a> </li> <?php } }?> </ul>
例2.循环term显示相应的文章
<?php $terms = get_terms([ 'taxonomy' => 'area', 'hide_empty' => true, ]); foreach( $terms as $term):?> <div class="area-part"> <h3> <?php echo $term->name; ?> </h3> <ul class="posts-list"> <?php $args = array( 'post_type'=>'store', 'tax_query' => array( array( 'taxonomy' => 'area', 'field' => 'id', 'terms' => $term->term_id, ), ), ); $query = new WP_Query( $args ); if( $query->have_posts()): while($query->have_posts()):$query->the_post(); get_template_part('partials/content','shopList'); //Restore orginial post Data wp_reset_postdata(); endwhile;?> </ul> <?php endif;?> </div> <?php endforeach; ?>
$get_terms_default_attributes = array ( 'taxonomy' => 'category', //empty string(''), false, 0 don't work, and return empty array 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => true, //can be 1, '1' too 'include' => 'all', //empty string(''), false, 0 don't work, and return empty array 'exclude' => 'all', //empty string(''), false, 0 don't work, and return empty array 'exclude_tree' => 'all', //empty string(''), false, 0 don't work, and return empty array 'number' => false, //can be 0, '0', '' too 'offset' => '', 'fields' => 'all', 'name' => '', 'slug' => '', 'hierarchical' => true, //can be 1, '1' too 'search' => '', 'name__like' => '', 'description__like' => '', 'pad_counts' => false, //can be 0, '0', '' too 'get' => '', 'child_of' => false, //can be 0, '0', '' too 'childless' => false, 'cache_domain' => 'core', 'update_term_meta_cache' => true, //can be 1, '1' too 'meta_query' => '', 'meta_key' => array(), 'meta_value'=> '', );
array(1) { [0]=> object(WP_Term) (11) { ["term_id"]=> //int ["name"]=> //string ["slug"]=> //string ["term_group"]=> //int ["term_taxonomy_id"]=> //int ["taxonomy"]=> //string ["description"]=> //string ["parent"]=> //int ["count"]=> // int ["filter"]=> //string ["meta"]=> array(0) { // presumably this would be some returned meta-data? } } }
①注册
/* Register widget area*/ function theme_widgets_init() { register_sidebar( array( 'name' => __( 'Blog Sidebar', 'twentyseventeen' ), 'id' => 'sidebar-1', 'description' => __( 'Add widgets here to appear in your sidebar on blog posts and archive pages.', 'twentyseventeen' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ); } add_action( 'widgets_init', 'theme_widgets_init' );
②输出
<?php if ( ! is_active_sidebar( 'sidebar-1' ) ) { return; } ?> <aside id="secondary" class="widget-area" role="complementary" aria-label="<?php esc_attr_e( 'Blog Sidebar', '' ); ?>"> <?php dynamic_sidebar( 'sidebar-1' ); ?> </aside><!-- #secondary -->