搬码资源网广告位搬码资源网广告位

WordPress为子分类自动设置指定的分类模版

上面是搬码源码网 abnma.com 经由过程收集网络收拾整顿的代码片断。搬码源码网小编此刻分享给各人,也给各人做个参考。

这段时间开发了一个网站,网站内里,文章有两个级另外分类,此中父级分类是一个零丁的模版,每个父级分类上面的二级分类用一个子分类模板,每个父级分类和子分类模版都是纷歧样的。这个需要最间接的体式格局是根据 wordpress 民间的教程,应用 “category-slug.php” 如许的模版文件,为每个分类指定模版。虽然能完成,但这是一个丑恶的完成要领,会招致每个子分类都要复制一个不异的模版。增长子分类的时辰,还需求重再复制一次,孕育发生了许多反复有意义的事情,前期维护起来也比力坚苦。

按照多年的 WordPress 开发教训,咱们凭直觉以为,必定会有更好的完成要领,于是咱们做了一些研究和测试,发明可以用 category_template Filter 来很简朴的完成这个需要,上面就是完成这个需要的代码。起首获取以后分类,假如以后分类的父级分类是指定的某个分类,测验考试获取指定的分类模版,假如分类模版存在,返归指定的分类模版,假如不存在,返归默许的模版。

add_filter( 'category_template',function ( $template )

{

$term = get_queried_object();

if ( $term->parent == 58 ) {

$new_template = locate_template( [ 'templates/archive/archive-topic.php' ] );

if ( '' != $new_template ) {

return $new_template;

}

}

return $template;

},99 );

下面的代码为父级分类为 「58」 的子分类设置了 templates/archive/archive-topic.php 文件作为分类模版。假如需求为父级分类为 「68」 的子分类设置一个模版呢?把下面的 if 逻辑复制一次,改动此中的 「58」 和 「archive-topic.php」 就可以了。额,虽然笔文章开首的完成要领好了一些,但照旧需求复制代码,而且应用分类 ID 作为指定分类的逻辑会有一些危害。

咱们的方针是做海内最业余的 WordPress 办事商,咱们寻求的是不单要完成需要,而且要以最简便有用、最有扩大性的要领来完成这个需要,而且要让客户用起来利便。于是更入了一步,咱们改造了一下下面的代码。起首获取以后分类的顶级分类,假如顶级分类存在,测验考试在 「templates/category/」 目次中寻觅顶级分类对应的「category-顶级分类 slug.php」文件,假如文件存在,返归这个模版作为二级分类模版,假如不存在,返归默许模版。

add_filter( 'category_template',function ( $template )

{

$term = get_queried_object();

$ancestors = get_ancestors( $term->term_id,'category' );

if ( ! empty( $ancestors ) ) {

$ancestor = get_term( $ancestors[ 0 ] );

$new_template = locate_template( [ 'templates/category/category-'. $ancestor->slug .'.php' ] );

if ( '' != $new_template ) {

return $new_template;

}

}

return $template;

},99 );

如许一来,就利便多了,增长分类的时辰,间接增长一个「category-顶级分类 slug.php」就可以设置子分类模版了,而且在迁徙数据的时辰,只需分类 Slug 不转变,就不需求改动代码来适配数据,操作要领和 WordPress 默许的指定模版要领近似。有需求的伴侣,可以按照本身的需求改造以上代码。或许假如你有更好的完成,可以投稿过来,利便更多有需求的伴侣。

以上是搬码源码网(abnma.com)为你网络收拾整顿的全数代码内容,但愿文章可以或许帮你解决所碰到的步伐开提问题。假如感觉搬码源码网网站内容还不错,接待将搬码源码网网站保举给步伐员挚友。

总结

以上是搬码源码网为你网络收拾整顿的为WordPress子分类主动设置指定的分类模版全数内容,但愿文章可以或许帮你解决为WordPress子分类主动设置指定的分类模版所碰到的步伐开提问题。

假如感觉搬码源码网网站内容还不错,接待将搬码源码网网站保举给步伐员挚友。

0
分享到:
搬码资源网广告位

评论0

请先

为了配合净网行动 , 本站下架所有娱乐源码 , 如有疑问 , 请联系站长qq 43233524
没有账号? 忘记密码?