首页 > 实用技巧, 精华文章 > WordPress单日志添加AD及sidebar小工具的应用

WordPress单日志添加AD及sidebar小工具的应用

2010年2月28日 作者:自由人 发表评论 阅读评论

1、单日志添加AD(如Google AD)

WordPress中single.php是单篇日志模板,如果需要在单篇日志中加入GoogleAdSense或是其他广告,这样做。

找到你所在主题中single.php如下代码

<?php the_content(); ?>

在其前面加入

<!-- AD START -->
<div style="float:right;margin-left:5px;">
此处放入广告代码
</div>
<!-- AD END -->

这样修改后效果是广告在日志右上角显示,效果在我的日志中就可以看到。

如果要改为左上角显示可以在<?php the_content(); ?>前面加入如下代码(这些都是DIV+CSS的应用,有基础的朋友可以根据情况自己修改)

<!-- AD START -->
<div style="float:left;margin-right:5px;">
此处放入广告代码
</div>
<!-- AD END -->

2、WordPress中sidebar小工具的应用

现在大部分WordPress主题都包含了小工具(widget),本文主要介绍下WordPress中小工具的原理。

A sidebar中只有1个widget

(1) WordPress主题所在目录中functions.php中的如下代码是注册一个widget

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'before_widget' => '<div id="%1$s">',
        'after_widget' => '</div>',
        'before_title' => '<h3>',
        'after_title' => '</h3>',
    ));

(2) sidebar中的如下代码是用来显示这些注册过的widget中的内容

<?php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar() ) : ?>
<?php endif; ?>

(3)有了这些代码后我们就可以在WordPress后台的小工具中随意添加代码了。

另外如果没有(1)中的代码,那么在后台就查看不到小工具了,此时就相当于主题不支持widget,如果没有(2)中的代码,在WordPress后台能添加widget,但是在WordPress中不能显示这些widget中的内容。

B sidebar中有多个widget

(1) 和只有1个widget情况类似,只是functions.php中相关代码改为如下(此例中有两个widget,名字分别为widget1 widget2)

if( function_exists('register_sidebar') ) {
 register_sidebar(array(
  'name' => 'widget1',
  'before_widget' => '<div id="%1$s">',
  'after_widget' => '</div>',
  'before_title' => '<h3>',
  'after_title' => '</h3>'
 ));
 register_sidebar(array(
  'name' => 'widget2',
  'before_widget' => '<div id="%1$s">',
  'after_widget' => '</div>',
  'before_title' => '<h3>',
  'after_title' => '</h3>'
 ));
}

(2) sidebar中的如下代码是显示注册过的widget1和widget2中的内容

<?php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar(widget1) ) : ?>
<?php endif; ?>

<?php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar(widget2) ) : ?>
<?php endif; ?>

注:在以上A和B中的步骤(1)中register_sidebar的参数要因主题的不同需要做修改,用法可以参考http://codex.wordpress.org/Function_Reference/register_sidebar

  1. 2010年2月28日15:57 | #1

    先沙发。。。。。

    [回复]

    zenoven 回复:

    又换头像了?

    [回复]

    QiQBoY 回复:

    是呀。。。。。。一个有些囧的头像。。。

    [回复]

  2. 2010年2月28日20:14 | #2

    呵呵 留待日后用

    [回复]

    zenoven 回复:

    [回复]

  3. 2010年2月28日21:11 | #3

    我是把广告加在functions.php中的,这样可以连feed一起输出

    [回复]

    zenoven 回复:

    我开始也想着让在feed里显示,不过想想既然人家订阅了,再显示就不太好了,况且订阅的基本上没人会点

    [回复]

  4. 2010年2月28日22:24 | #4

    我的广告已经够多了~

    [回复]

    zenoven 回复:

    我的还不多,但是点击率仍然很低 呵呵

    [回复]

  5. 2010年3月1日10:43 | #5

    请问怎么让文字围绕在AD周边呢?

    [回复]

    zenoven 回复:

    这个我暂时还没考虑过 应该是CSS实现吧

    [回复]

  6. 2010年3月1日12:44 | #6

    笨笨的博客可干净了,没一点广告,我也想让他乱点,可惜乱不起来。。。没什么好广告可挂

    [回复]

    zenoven 回复:

    也是,现在好广告不多啊。。。

    [回复]

  7. 2010年3月1日13:01 | #7

    zblog用户飘过

    [回复]

    zenoven 回复:

    好像松松的AD是被文字包围的,不知道这效果是咋实现的呢?楼下正好有朋友问 呵呵

    [回复]

  8. 2010年3月1日18:09 | #8

    我算是看出来了

    这句代码的位置好重要

    [回复]

    zenoven 回复:

    是啊。。。不同位置效果很明显的

    [回复]

  9. 2010年3月1日19:26 | #9

    typecho的顺带支持

    [回复]

    zenoven 回复:

    如果我换程序的话 首选就是typecho了 我这两天试过了 速度很赞哪

    [回复]

  10. 2010年3月1日23:05 | #10

    好东西,收藏了,谢谢分享。

    [回复]

  11. 2010年3月2日11:08 | #11

    要是不要改代码就好了。

    [回复]

    zenoven 回复:

    呵呵 代码有时还是很有用的。

    [回复]

  12. 2010年3月2日13:46 | #12

    呵呵,好东西哦,学习了

    [回复]

    zenoven 回复:

    哈哈~~ 有用就好

    [回复]

  13. 2010年3月2日13:56 | #13

    一直有在用

    [回复]

    zenoven 回复:

    呵呵 那我落后了啊

    [回复]

  14. xl
    2010年3月2日16:33 | #14

    好深奥的东西啊~

    [回复]

    zenoven 回复:

    看你说的。。。你不也在搞么

    [回复]

    xl 回复:

    搞啥 我的gg现在点了还没1刀呢 有一次我自己点了一下0.44 哈哈

    [回复]

  15. 2010年3月2日18:09 | #15

    AD我习惯加在左边

    [回复]

    zenoven 回复:

    嗯,都不错的

    [回复]

  16. 2010年3月2日18:26 | #16

    很实用的技巧
    呵呵。

    [回复]

    zenoven 回复:

    有用就好

    [回复]

  17. 2010年3月2日20:20 | #17

    很实用,但我用不上。

    [回复]

    zenoven 回复:

    呵呵 以后用到了再来看

    [回复]

  18. 2010年3月2日21:23 | #18

    钱赚到发软了吧~

    [回复]

    zenoven 回复:

    要赚到发软我就不放了

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.