wordpress博客任意位置插入广告方法(非插件)

wordpress文章任意位置插入广告有一些广告插件可以实现,不过此处分享的是非插件来实现wordpress文章任意位置插入广告的功能,当然,不仅仅限于Google广告和百度广告其他联盟的广告也是可以的。
修改模板函数functions.php文件的方法,本方法可以插入日志任意位置:代代码如下

function showads() {
return ‘<div id=”adsense”>

<script type=”text/javascript”><!–
google_ad_client = “ca-pub-2576785710849884”;
/* 336×280 */
google_ad_slot = “0350274631”;
google_ad_width = 336;
google_ad_height = 280;
//–>
</script>
<script type=”text/javascript”
src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”>
</script>

</div>’;
}
add_shortcode(‘adsense’, ‘showads’);

自己在设置的时候记得把广告代码改为你自己的。
添加完之后以后在需要加入广告的地方只需通过过插入
[adsense]
代码就可以在任意位置插入广告了。
Continue reading “wordpress博客任意位置插入广告方法(非插件)”

为你的WordPress博客增加表情功能

wordpress博客默认是有表情调用功能的,不过需要用代码方式来插入。不过如果我们不是代码狂人的话,要记下那些枯燥的代码来绝非易事,所以把wordpress的表情通过直观的方式来调用是很有必要的。wordpress自带的表情基本上是可以说用丑到爆来形容。所以很多wordpress博主都是用修改版的wordpress表情。

关于修改wordpress默认表情那就是用你自己的表情文件以原文件名覆盖替换 WordPress 的 wp-includes/images/smilies 下的图片文件。但是这种方法碰到 WordPress 升级,或者更换主题后需要换另一套搭配的表情时,那我们就又需要再这样重复操作一遍。无论怎么样,我们都是不建议修改 WordPress 中的源代码的,哪怕只是图片。

其实 WordPress 已经给我们预留了表情路径的钩子,我们完全可以在主题的函数中自定义这个路径,而不必大费周章去覆盖替换原表情图片。方法很简单,在 WordPress 主题的 functions.php 文件中加入以下代码就可以了:

add_filter(‘smilies_src’,’custom_smilies_src’,1,10);
function custom_smilies_src ($img_src, $img, $siteurl){
returnget_bloginfo(‘template_directory’).’/images/smilies/’.$img;
}

从以上代码中可以看出,表情图片是放在主题目录的 images/smilies 中,这样可以更方便地随自己的主题进行管理,当然以上只是修改 WordPress 表情的路径,激活表情功能还得需要经过下面的非插件实现wordpress调用表情操作。

非插件实现wordpress调用表情

步骤:

1、先下载smiley.rar,下载地址1下载地址2丨将其解压缩并上传至主题所以文件夹下。

2、在 comments.php 的 textarea 之前的适当位置加入以下代码:

<?php include(TEMPLATEPATH . ‘/smiley.php’); ?>

这样就完美实现了在自定义路径下调用wordpress表情功能,而且还不怕升级。

wordpress非插件调用日志的第一张图片

wordpress非插件调用日志的第一张图片,其实这个衍生出去的话,是可以用在很多地方的。一般情况下,wordpress博客上大家都用插件来调用图片显示的,但是插件用多了会影响网站打开速度,严重影响用户体验,所以个人认为在不用插件能实现相关功能的情况下,就不用插件。下面是非插件调用wordpress日志的第一张图片的代码。

步骤1:首先打开主题的functions.php文件,将以下代码复制进去

function show_image() {
  global $post, $posts;
  $first_img = ”;
  ob_start();
  ob_end_clean();
  $output = preg_match_all(‘/<IMG.+SRC=[‘"]([^’"]+)[‘"].*>/i’, $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){
    $first_img = "/images/default.jpg"; // Define the Default image
  }
  return $first_img;
}

步骤2:接着下载TimThumb.php文件,放到主题目录下。

步骤3:打开主题下的index.php文件,找到文章循环调用区域,在你需要调用图片的地方加入以下代码:

<IMG alt="<?php the_title(); ?>" src="<?php bloginfo(‘template_directory’); ?>/timthumb.php?src=<?php echo show_image() ?>&w=200&h=200&zc=1&q=100">

下面就timthumb.php的参数设置做些解释:

上列代码中的

w=200&h=200&zc=1&q=100

你可以自己修改,比如这句代表图片高度(h)与宽度(w)为200像素,并且(zc=1)自动裁剪(这样图片不会变形)图片质量100。默认情况下timthumb.php会自动在主题目录下新建cache的文件夹,如果没有建立,可自行建立,并附属性为644。

再附一篇关于用timthumb.php给WordPress添加缩略图的资料

timthumb.php是一个由Google开发的插件,现在有很多国外的Theme都使用这个插件给WordPress添加缩略图。

使用它有一个方便的好处,那就是你只需要指定一张图片便可以了,只要任何有执行代码的地方它都会自动实现缩略图功能。是不是非常方便呢?

那么现在就开始实施过程吧。

在你需要实现缩略图的地方,比如主题的index.php里,找到这句:

<?php the_title(); ?>

 

这句通常表示首页调用的文章标题,对,就是这里了。

现在需要在这句上面添加如下代码:

  • <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
  • <?php $thumbnail = get_post_meta($post->ID, ‘thumbnail’, true); ?>
  • <?php if($thumbnail !== ”) { ?>
  • <img src="<?php bloginfo(‘stylesheet_directory’); ?>/timthumb.php?src=<?php echo $thumbnail; ?>&amp;h=100&amp;w=100&amp;zc=1" alt="<?php the_title(); ?>" />
  • <?php } ?>
  • </a>
  •  

    如果有多行表示标题的代码的话,在导航上面都添加代码。

    接下来就是在发布文章时如何调用了:

    发布文章是,在“添加新自定义域”里添加一个名称为“thumbnail”,值为图片路径的自定义域。如果不想添加自定义域,可以通过上面的调用第一张图片的方法来实现,只要把上面的

    <?php echo $thumbnail; ?>

    替换成

    <?php echo show_image() ?>

    当然,文章最上面的那段代码还是要加在functions.php文件中的

    彩色标签云非插件版

    彩色标签云看起来还是挺漂亮的,曾在网上看见很多关于WordPress博客上非插件实现彩色标签云的方法,不过当时还没有希望实现彩色标签云的打算,今天再次找来彩色标签云代码备忘一下,也许自己过几天就会将此方法运用在壹品集上。

    标签云调用的函数是:

    <?php wp_tag_cloud(); ?>

    该标签云函数包括以下基本参数:

    smallest:最小字体,默认为8
    largest:最大字体,默认为22(因为标签云会根据标签的使用频率将使用频率高的表情自动放大)
    unit:字符大小的单位(例如pt,px,em)默认为pt
    number:显示标签个数(为0时显示所有标签),默认为45
    format:显示方式,flat(默认,以空格分隔)

    以上各参数以”&”符号连接.不必都填,不填的参数以默认值为准.

    根据以上参数介绍,我们可以对其进行简单的参数设置如下:

    <?php wp_tag_cloud('number=50&largest=24&smallest=12&unit=px'); ?>

    好啦,以上是我们对标签云函数的简单了解,下面讲讲如何实现彩色标签。

    将下面的表情加入到主题下的 functions.php 里即可。

    function colorCloud($text) {

    $text = preg_replace_callback('|<a (.+?)>|i', 'colorCloudCallback', $text);

    return $text;

    }

    function colorCloudCallback($matches) {

    $text = $matches[1];

    $color = dechex(rand(0,16777215));

    $pattern = '/style=('|")(.*)('|")/i';

    $text = preg_replace($pattern, "style="color:#{$color};$2;"", $text);

    return "<a $text>";

    }

    add_filter('wp_tag_cloud', 'colorCloud', 1);

    彩色标签云效果,话说彩色标签云在黑色的背景上看起来很抓眼球啊!

    彩色标签云效果

    非插件下跨站调用其他网站的最新文章之三

    跨站调用其他网站的最新文章的方法也是挺多的,最简单的方式就是直接用WordPress后台集成的feed调用功能,不过这样的缺点就是一般只能站外调用的最新文章放在侧边栏,要在其他页面或者地方调用的话,就不太好办了。那么有没有直接用代码就可以实现跨站调用其他网站的最新文章呢?今天,给大家分享一段代码来实现跨站调用其他网站的最新文章的功能的代码,很简单:复制代码,在合适的位置粘贴代码,然后通过CSS控制样式。

    <?php // Get RSS Feed(s)
    include_once(ABSPATH . WPINC . ‘/rss.php’);
    $rss = fetch_rss(‘http://feed.feedsky.com/epinv’);//在这添加所要调用网站的Feed地址
    $maxitems = 10;
    $items = array_slice($rss->items, 0, $maxitems);
    ?>
    <ul>
    <?php if (empty($items)) echo ‘<li>No items</li>’;
    else
    foreach ( $items as $item ) : ?>
    <li>
    <a href='<?php echo $item[‘link’]; ?>’
    title='<?php echo $item[‘title’]; ?>’ target="_blank">
    <?php echo mb_strimwidth($item[‘title’] , 0, 80, ‘…’) ; ?>
    </a>
    </li>
    <?php endforeach; ?>
    </ul>

    就这么简单,最后你在添加上CSS进行控制下样式就OK啦。

    演示效果,北极寒流或者亿品元素

    非插件实现wordpress 随机文章,随机日志,最新文章,最新评论

    很多玩WordPress的朋友喜欢用插件来实现wordpress 随机文章,随机日志,最新文章,最新评论,其实直接用WordPress的代码函数来实现wordpress 随机文章,随机日志,最新文章,最新评论,也是十分简单的,所以没必要用插件,填上随机文章和最新文章后能够大大增加文章的内链。

    1.随机文章

    使用 WordPress 默认函数 get_posts 中的 orderby=rand 属性来随机选取文章链接。多篇文章并以列表形式展示,则代码如下:

    <h4>随机文章</h4>
    <?php $rand_post = get_posts(‘numberposts=10&orderby=rand’);
    foreach( $rand_post as $post ) : ?>
    <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>

    以上代码随机选择 10 篇文章,列表样式可以根据需要自定义。
    另一个版本 ,用query_posts生成随机文章列表。

    <?php
    query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 2));
    if (have_posts()) :
    while (have_posts()) : the_post();?>
    <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a>&nbsp;<?php comments_number(”, ‘(1)’, ‘(%)’); ?><br />
    <?php endwhile;endif; ?>

    如果你还想显示含有标题和文章摘要的随机文章,可以这样写

    <?php
    query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));
    if (have_posts()) :
    while (have_posts()) : the_post();
    the_title(); //这行去掉就不显示标题,你当然不会这么做
    the_excerpt(); //去掉这个就不显示摘要了
    endwhile;
    endif; ?>

    2. 最新文章
    WordPress最新文章的调用可以使用一行很简单的模板标签wp_get_archvies来实现. 代码如下:

    <?php get_archives(‘postbypost’, 10); ?>

    (显示10篇最新更新文章)或

    <?php wp_get_archives(‘type=postbypost&limit=20&format=custom’); ?>

    后面这个代码显示你博客中最新的20篇文章,其中format=custom这里主要用来自定义这份文章列表的显示样式。具体的参数和使用方法你可以参考官方的使用说明- wp_get_archvies。(fromat=custom也可以不要,默认以UL列表显示文章标题。)

    补充: 通过WP的query_posts()函数也能调用最新文章列表, 虽然代码会比较多一点,但可以更好的控制Loop的显示,比如你可以设置是否显示摘要。具体的使用方法也可以查看官方的说明。

    3. 最新留言,最新评论

    下面是我之前在一个WordPress主题中代到的最新留言代码,具体也记不得是哪个主题了。该代码直接调用数据库显示一份最新留言。其中LIMIT 10限制留言显示数量。绿色部份则是每条留言的输出样式。

    <?php
    global $wpdb;
    $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
    comment_post_ID, comment_author, comment_date_gmt, comment_approved,
    comment_type,comment_author_url,
    SUBSTRING(comment_content,1,30) AS com_excerpt
    FROM $wpdb->comments
    LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
    $wpdb->posts.ID)
    WHERE comment_approved = ‘1’ AND comment_type = ” AND
    post_password = ”
    ORDER BY comment_date_gmt DESC
    LIMIT 10";
    $comments = $wpdb->get_results($sql);
    $output = $pre_html;

    foreach ($comments as $comment) {
    $output .= "n<li>".strip_tags($comment->comment_author)
    .":" . " <a href="" . get_permalink($comment->ID) .
    "#comment-" . $comment->comment_ID . "" title="on " .
    $comment->post_title . "">" . strip_tags($comment->com_excerpt)
    ."</a></li>";
    }

    $output .= $post_HTML;
    echo $output;?>

    在wordpress的后台–外观–小工具 里面 你也可以通过拖拽小工具订制边栏模板
    一般的主题都有 最近文章 最近评论 的小工具。直接拖入即可实用。

    实现WordPress之gravatar头像缓存非插件版

    本来不打算整这功能的,不过由于这段时间博客链接gravatar服务器获取gravatar头像变的非常缓慢,于是才决定把gravatar头像缓存到本地。采用willin的方法,简单实现gravatar头像缓存。测试成功,此文为备忘。

    gravatar头像缓存前提:

    确定自己的模板主题文件 comments.php 用的是 WordPress 2.7 以后才有的 wp_list_comments()

    开始:

    1. 在 wp-content 的同级目录建立文件夹:avatar,权限为:755, 这是准备 gravatar 缓存的路径

    2. 把一个50×50的jpg图片改名为:default.jpg,把它存到第1步建立的 gravatar 缓存文件夹 avatar 里面

    3. 找到主题文件 comments.php 或是在 functions.php 里的 function mytheme_comment($comment, $args, $depth) 会有一段像下面这样一段代码:

    <?php echo get_avatar($comment,$size=’50’,$default='<path_to_url>’ ); ?>

    替换成:

    <?php
    $p = ‘avatar/’;
    $f = md5(strtolower($comment->comment_author_email));
    $a = $p . $f .’.jpg’;
    $e = ABSPATH . $a;
    if (!is_file($e)){ //当头像不存在就更新
    $d = get_bloginfo(‘wpurl’). ‘/avatar/default.jpg’;
    $s = ’32’; //头像大小 自行根据自己模板设置
    $r = get_option(‘avatar_rating’);
    $g = ‘http://www.gravatar.com/avatar/’.$f.’.jpg?s=’.$s.’&d=’.$d.’&r=’.$r;
    copy($g, $e);
    if ( filesize($e) == 0 ){ copy($d, $e); }
    };
    ?>
    <img src='<?php bloginfo(‘wpurl’); ?>/<?php echo $a ?>’ alt=” class=’avatar’ />

    3. 没有了
    原文:http://zww.me/archives/24711