Add Adsense code in index.php

时间:2013-02-02 作者:Venkat

我的wordpress博客主页有缩略图库。

我想添加adsense图像广告代码到5,10位。

下面是我索引中的代码

   <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
  <div id="post-<?php the_ID(); ?>" <?php post_class(\'thumb\'); ?>>
我发现以下代码来自here (wordpress.stackexchange)

  <?php $post_counter=0; ?>
  <?php if (have_posts()) : ?>
  <?php while (have_posts()) : the_post(); ?>
  <?php require(\'post.php\'); ?>
  <?php
  $post_counter++;
  if ($post_counter == 2 || $post_counter == 3) { ?>
  INSERT ADSENSE CODE HERE
  <?php } ?>
  <?php endwhile; ?>
我对php知之甚少。我不知道如何修改它。请帮帮我。

提前感谢……)

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

以下是my other answer.

首先,我们在WordPress speak中注册了两个新的小部件区域,即侧栏。

add_action( \'widgets_init\', \'wpse_84250_register_ad_widgets\' );

function wpse_84250_register_ad_widgets()
{
    // used on the first page of main loop only
    register_sidebar(
        array (
            \'name\'          => \'Ad Widget 1\',
            \'id\'            => \'ad_widget_1\',
            \'before_widget\' => \'<div class="frontpage-ads">\',
            \'after_widget\'  => \'</div>\'
        )
    );
    register_sidebar(
        array (
            \'name\'          => \'Ad Widget 2\',
            \'id\'            => \'ad_widget_2\',
            \'before_widget\' => \'<div class="frontpage-ads">\',
            \'after_widget\'  => \'</div>\'
        )
    );
}
你现在有两个新的边栏wp-admin/widgets.php. 在此处添加带有广告代码的文本小部件。

enter image description here

然后我们将这些小部件插入到主循环中。

打开loop_start 我们开始执行并加入the_postloop_end 如果我们在头版。您可以删除此条件…

if ( ! is_front_page() )
    return;
…如果要在所有存档列表上显示广告。

每次通话时,我们都会增加内部计数器$count 由一个。当计数器等于6时,我们低于第5次开机自检dynamic_sidebar() 显示第一个小部件。

当循环结束时,我们将显示第二个小部件并删除回调以节省执行时间

add_action( \'loop_start\', \'wpse_84250_show_ad_widgets\' );

function wpse_84250_show_ad_widgets()
{
    static $count = 0;

    if ( ! is_front_page() )
        return;

    if ( \'loop_start\' === current_filter() )
        return add_action( \'the_post\', __FUNCTION__ )
            && add_action( \'loop_end\', __FUNCTION__ );

    $count += 1;

    if ( 6 === $count )
        dynamic_sidebar( \'ad_widget_1\' );

    if ( 11 === $count or \'loop_end\' === current_filter() ) {
        dynamic_sidebar( \'ad_widget_2\' );
        remove_action( \'the_post\', __FUNCTION__ );
    }
}
您可以使用该代码制作插件,请参见:Where do I put the code snippets I found here or somewhere else on the web?

结束

相关推荐

编辑.php上管理帖子列表的日期范围筛选器

我需要在WordPress admin中的Posts菜单中添加一些自定义子菜单链接,以便内容经理可以单击链接并获取今天、昨天或本月的帖子列表。WordPress后端中的默认日期过滤器仅按月份过滤帖子。当您选择该过滤器时,它会生成一个URL,如http:// ..... /wp-admin/edit.php?s&post_status=all&post_type=post&action=-1&m=201301&cat=0&post_format=0&p