WordPress根据不同分类显示不同Logo的方法

2018年1月22日21:51:02 发表评论

这个需求可能在很多人来说是一个比较奇葩的需求,但是我个人了解到了这个代码 之后,觉得这类代码 如果好好利用的话,可以用来做很多事情,至于如何使用就看个人了。

WordPress根据不同分类显示不同Logo的方法-1

不同的分类显示不同的Logo这个功能一般来说都是通过JS替换来的,我们需要做的事情是输出这个JS代码 即可:

  1. add_action('wp_footer', 'logo_change_by_category');
  2. function logo_change_by_category() {
  3. if (is_category(1) || cat_is_ancestor_of(1, get_query_var('cat'))) { //检测分类
  4. echo '
  5. <script>
  6. var newLogo = \'' . get_template_directory_uri() . '/img/logo.png\'; //图片路径
  7. document.getElementsByClassName(\'logo\')[0].src = newLogo //通过类名替换
  8. </script>';
  9. }
  10. }

如果你不明白这个代码是什么意思,可以看看后面对应的注释内容,看完了如果你想要利用此代码进行开发,那么恭喜你,你已经入了折腾WordPress的坑了,进坑容易出坑难啊。

其中需要注意的就是,如果你直接使用上面的代码的话,那么你的Logo文件路径对应的img标签中必须要含有logo类名,也就是说。你的Logo图片地址应该是类似下面的情况:

  1. <img class="logo" src="http://127.0.0.1/wp-content/themes/dux/img/adventurelogo.png">

其中class=”logo”和上面给出的代码中的类名是相互对应的。你要修改上面的代码,那么你主题内容中Logo图片的类名也要修改,如果你的Logo图片没有该类名,添加上即可。

当然,如果你有能力的话,可以直接在Logo输出的地方加上一些判断或者更较好的判断方式来展示,这个就看个人能力和自己的想法了,这里推荐的只是一个相对来说比较简单的方法。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: