前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Genesis框架从入门到精通(5):框架的内置动作(又续)

Genesis框架从入门到精通(5):框架的内置动作(又续)

作者头像
丘壑
发布2019-03-13 10:21:41
5220
发布2019-03-13 10:21:41
举报
文章被收录于专栏:一丘一壑一丘一壑

现在你已经了解了什么是动作,已经如何使用它们来添加新内容、移动和删除现有内容,可能你还会用到一个更有用的技巧。那就是:

添加重复内容

当你想是在文章顶部和底部添加一个分享按钮,或者在多个元素周围添加一些额外的东西,或在多个位置插入广告,你都要学会如何对代码进行重复。有人可能会通过创建一对额外的动作/函数对来实现这一点,但实际上并不需要这样,事实上,你可以使用一些条件语句,并根据要执行的位置来改变相似的代码,这样就可以只写一个函数但可以在多个地方执行。

在第一个示例中,我演示了在文章内容的顶部和底部添加google adsense。

代码语言:javascript
复制
add_action( 'genesis_before_post_content', 'child_content_conditional_adsense', 15);
add_action( 'genesis_after_post_content', 'child_content_conditional_adsense', 5);
/** inserts an adsense ad above and below the content */
function child_content_adsense() { ?>

    <div class="adsense">
        <!--insert adsense code-->
    </div><!-- end .adsense -->

<?php }

现在,.entry-content div之前和之后的位置将会有两段一模一样的代码。

如果我想对这两段内容进行区别对待,分开处理,那么我需要明确知道我要使用哪个钩子(即是在文章之前还是之后)。这就是条件处理,我将在另一个教程中更详细地解释。用下面这段代码即可以有条件的处理我们需要的东西。

代码语言:javascript
复制
add_action( 'genesis_before_post_content', 'child_content_conditional_adsense', 15);
add_action( 'genesis_after_post_content', 'child_content_conditional_adsense', 5);
/** inserts an adsense ad above and below the content with a conditional class. */
function child_content_conditional_adsense() { ?>

    <div class="adsense <?php echo 'genesis_before_post_content' == current_filter() ? 'before' : 'after'; ?>">
        <!--insert adsense code-->
    </div><!-- end .adsense -->

<?php }

虽然这看起来不像传统的条件语句,但它是一种非常高效的给变量赋值值或打印内容的方式。第一部分说,它要做的是打印,下一部分,一直到 “?”之前是它判断的条件。“?”的意思是,如果条件为真,就打印’before’,在这个例子里,current_filter()的返回值是“genesis_before_post_content”时条件为真,而“”的意思是条件为假时要打印的内容,也就是“after”。现在同一段内容可以根据不同条件设置不同样式,“adsense before”和“adsense after”,随便你怎么显示都可以。


原文地址

Genesis Explained Actions Bonus • DESIGNS BY NICK THE GEEK

I was looking through the posts on actions and realized that there was one important tip I left out. If you haven’t read up on the actions already, you should probably start at the beginning. To make it easier I have tagged all of the articles with an “Actions” tag, so check out the Actions archive.

designsbynickthegeek.com


译后记

这篇文章比较短,正好今天也在看Google adsense方面的东西,打算去申请一个放在我的博客上,说到广告,也有点小小的感想。

几年前吧,我对一切太过于商业化的东西都还挺瞧不上挺抵触的,比如什么营销啦、培训啦、运营啦、SEO啦,网赚啦之类的,对网上这些方面的内容和从事这行的人啊公司啊觉得都挺“没啥技术含量”,只觉得技术工作才是牛 B的最有乐趣最有挑战性的,对技术之外的东西都不感冒,这可能也是一些技术人的通病吧。

程序员圈子更崇尚的是开源啊、免费啊、自由啊这些很符合理想主义的东西,但是理想很丰满现实很残酷,很多时候商业化的东西是无法绕过的,广告、推广、盈利才是最现实的最迫切的最难的,就算是对一个再小的网站来说,也是有成本的,域名、服务器、带宽,甚至开发的人力成本,房租水电,时间成本,都是钱啊。。。谁也不可能学Wikipedia那样哗哗哗的流量就白白扔了,每年苦哈哈的募捐就为坚持一份理想,再说了,能有几个Wikipedia?

靠着广告,成就了多少巨无霸型的互联网企业,Google、facebook都不用说了,国外还有太多就靠着Google adsense, AMAZON推广链接,各种联盟赚的盘满钵满的个人博客,还有国内的各种自媒体,“两微一抖”,也都是靠着接广告活的挺滋润,说不眼红,那是假的。。。。以前傻不拉唧的觉得在自己网站上加点Google adsense之类的都是挺掉价的事,现在想想也真是够可笑的,哪里来的自信自觉一份清高??

以前我对网络上的乱七八糟的广告都是很反感的,chrome上的uBlock插件是绝对离不开的,自动屏蔽,手动屏蔽,各种屏蔽,统统过滤,几乎都不怎么能看到广告了。现在随着经历多了,也可能是老了,渐渐心态也平和了,偶尔看到不错的网站,也会把它加入uBlock的白名单,抱着学习的心态看看它会有啥广告出来,看人家是怎么插的?,所以也在现在这个博客上插了几个广告试试,虽然也不可能因此就发家致富走上人生巅峰了,但苍蝇腿儿也是肉嘛

Google adsense是个大学问啊,打算好好研究研究,好消息是Genesis对adsense支持的非常好,正好也可以一般翻译一遍实践了,看看有多少可以插的“体位”吧?

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加重复内容
  • 原文地址
  • 译后记
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档