您好!欢迎来到黑域吧资源网!本站资源24小时自动发货,请放心选购,一次付费,终身下载,售后请联系客服!

WordPress优化多类型分类目录/标签侧栏调用通用代码

作者 : 黑域吧 本文共2260个字,预计阅读时间需要6分钟 发布时间: 2020-09-19 共62人阅读

网站中有多种发布类型(post_type)的站长或许会有这样的体会,无论特殊需求的文章汇总(最热,相关,随机)还是是category和 tag这些taxonomy分类的归档,总是麻烦些,有的可以通过更改原有函数的参数来实现,有的甚至需要手动写一些查询,那么我们应该怎样在代码层进行优化

对于Wordpress网站中有自定义post_type的站长来说,我们有必要自己定义一些函数,用于页面模板设计时的调用,代码层面的优化我一直坚守的原则——结构清晰,减少重复。

有不少Wordpress用户在主题功能扩展的时候,很多新手对wordpress函数方法不熟悉往往习惯页面中直接写SQL查询,因为简单,但是结果就是需要一次写一次,增大了文件体积不说,管理起来也是一片混乱,到了维护后期还得整理。

基于上面提到的原则,我们有必要在function中定义一些经常用到的并且多post_type通用的函数,方便调用。本篇文章我们就以侧边栏经常调用的网站目录和网站标签为例。

应用实例

首先应该了解网站的结构,例如当前发布类型有两个最主要的大类分别是videos和最常见的post。对应的taxonomy分类法分别是:

  • videos—videoscategory&videstags(这是自定义的)
  • post——category&post_tag(wordpress默认如此)

其次,我们应该弄清楚,wordpress是否给我们提供了可以实现需求的原生函数。

  • 如果有,我们则可以使用变量参数或者多个原生函数组合来构建一个新的函数。
  • 如果没有,我们可能就要设计查询了。

此次本文提到的两个应用,都可以找到原生函数。因此我们只需要根据需求挑选出参数,用变量替代即可。如,对于标签云的调用,我们使用wp_tag_cloud()就足够:

<?php wp_tag_cloud( $args ); ?>
<?php $args = array(
    'smallest'                  => 8, 
    'largest'                   => 22,
    'unit'                      => 'pt', 
    'number'                    => 45,  
    'format'                    => 'flat',
    'separator'                 => "n",
    'orderby'                   => 'name', 
    'order'                     => 'ASC',
    'exclude'                   => null, 
    'include'                   => null, 
    'topic_count_text_callback' => default_topic_count_text,
    'link'                      => 'view', 
    'taxonomy'                  => 'post_tag', 
    'echo'                      => true,
        'child_of'                   => null(see Note!)
); ?>

对于分类目录,我们自然想到了wp_list_cats(),不过此函数已经被wp_list_categories()给替代了。

<?php wp_list_categories( $args ); ?> 
<?php $args = array(
    'show_option_all'    => '',
    'orderby'            => 'name',
    'order'              => 'ASC',
    'style'              => 'list',
    'show_count'         => 0,
    'hide_empty'         => 1,
    'use_desc_for_title' => 1,
    'child_of'           => 0,
    'feed'               => '',
    'feed_type'          => '',
    'feed_image'         => '',
    'exclude'            => '',
    'exclude_tree'       => '',
    'include'            => '',
    'hierarchical'       => 1,
    'title_li'           => __( 'Categories' ),
    'show_option_none'   => __('No categories'),
    'number'             => null,
    'echo'               => 1,
    'depth'              => 0,
    'current_category'   => 0,
    'pad_counts'         => 0,
    'taxonomy'           => 'category',
    'walker'             => null
); ?>

我们的代码是针对侧边栏的调用设计的,那么在写的时候注意class=“widget”,以搭配样式表。

<?php
//新标签调用
function newtags($title,$type,$num){
echo'<div class="widget"><h3><span>',$title,'</span></h3>';
wp_tag_cloud('smallest=8&largest=20&taxonomy='.$type.'&number='.$num);
echo'</div>';
}
//分类目录调用
function newcats($title,$taxonomy){
echo'<div class="widget"><h3><span>',$title,'</span></h3></div>';
wp_list_categories('id=tougaocategorg&show_count=1&hierarchical=1&hide_empty=0&taxonomy='.$taxonomy);
echo'<div>';
}
?>

函数调用

比如,我们想在侧边栏调用一个网站视频的分类目录,我们就可以写

<?php
<div id="sidebar">
newcats('网站视频分类','videoscategory')
</div>
?>

本文只是代码优化的一个小小的实例,原则是减少重复,方法是利用wp原生函数,合理设计参数变量。实际测试中,wp_list_cats()也可以完成上面的需求。

提示:
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!邮箱:(332547532@qq.com)
2. 分享目的仅供大家学习和交流,请不要用于商业用途!QQ群: 10563080
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请点击右下方联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码请在"下载框架提示方寻找",如遇到无法解压的请联系管理员!
黑域吧资源网 » WordPress优化多类型分类目录/标签侧栏调用通用代码

发表评论

售后服务:

  • 售后服务范围 1、商业模板使用范围内问题免费咨询
    2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
    3、单价超过200元的模板免费一次安装,需提供服务器信息。
    付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
    2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
    3、服务器环境配置(一般 ¥50-300)
    4、网站中毒处理(需额外付费,500元/次/质保三个月)
    售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
    免责声明 本站所提供的源码等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 332547532@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者
开通SVIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡