标签: wordpress

  • 强大的无插件实现相关文章,永不落空版

    相关文章使很多wordpress的Bloger关注的问题,相关文章可以大大增加PV,也可以使你八百年前发布的文字能出个头。很多Bloger都是用插件实现的,但对于我们这些有“代码洁癖”和效率强迫症的人来说插件不是最佳的实现方式。so找到下面代码实现相关文章。

    原理是先查看与标签(关键字)相关的标题,如果没有那就取同分类下的X篇文字(不要告诉我分类下没有5篇文字 -_- ! )。

    源代码来自:http://kan.willin.org/ 我做了修正:修正了当取得同分类下文章的时候还会显示没有相关的小BUG。


    <h3>你可能也感兴趣:</h3>
    <ul>
    <?php
    $post_num = 5; // 數量設定.
    global $post;
    $tmp_post = $post;
    $tags = ''; $i = 0; // 先取 tags 文章.
    $exclude_id = $post->ID;
    $posttags = get_the_tags();
    if ( $posttags ) {
      foreach ( $posttags as $tag ) $tags .= $tag->name . ',';
      $tags = strtr(rtrim($tags, ','), ' ', '-');
      $myposts = get_posts('numberposts='.$post_num.'&tag='.$tags.'&exclude='.$exclude_id);
      foreach($myposts as $post) {
        setup_postdata($post);
        ?>
        <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php
        $exclude_id .= ','.$post->ID; $i ++;
      }
    }
    if ( $i < $post_num ) { // 當 tags 文章數量不足, 再取 category 補足.
      $post = $tmp_post; setup_postdata($post);
      $cats = ''; $post_num -= $i;
      foreach ( get_the_category() as $cat ) $cats .= $cat->cat_ID . ',';
      $cats = strtr(rtrim($cats, ','), ' ', '-');
      $myposts = get_posts('numberposts='.$post_num.'&category='.$cats.'&exclude='.$exclude_id);
      foreach($myposts as $post) {
        setup_postdata($post);
        ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php
        $i ++;
      }
    }
    if ( $i == 0 ) echo '<li>尚無相關文章</li>';
    $post = $tmp_post; setup_postdata($post);
    ?>
    </ul>

  • WordPress 主题免费提供 HTML5+CSS3 Ajax嵌套评论

    king51-blog V0.9

    特点:
    HTML5+CSS3
    Ajax嵌套评论
    自带评论墙
    自动启用Gzip
    自定义导航(wordpress3以上支持)

    详细更新以及下载转至:主题下载

    http://blog.king51.com/theme1/

  • 启用 WordPress object-cache 缓存

    这次优化的方法是用 WordPress Object Cache 缓存页面,我以前用过缓存插件,但是发现效果绝对远没有此方法显著。而且我在最新的 WordPress 2.8 下完美地实现了这一缓存效果,所以强烈推荐。

    WordPress Object Cache 可以将一个耗时查询或者运算结果存储到一个缓存文件,这样就可以让我们不用老是重复到数据库中获取不变的数据,以缩短用户查看页面的速度。那么,我们如何开启它呢?

    1、PHP 需要安装上 Memcached 扩展

    是否安装了 Memcached 扩展请咨询服务器管理员,至少我的主机已经安装上了 Memcached 扩展。

    2、编辑 wp-config.php 文件,添加如下代码:

    // Enable the WordPress Object Cache:
    define('ENABLE_CACHE', true);

    3、新建 /wp-content/cache 目录,设置权限 777。

    4、点此下载 object-cache.php 文件,解压后上传至 /wp-content 目录。

    在启用 object cache 之前,我首页的数据库查询次数在60次左右,现在只有20多次,足足压缩了三分之二,不只加速了 WordPress,而且减轻了数据库的负载,效果相当明显。

    本文部分转自:http://www.wopus.org/wordpress-deepin/tech/462.html

  • WordPress 技巧:显示同个父页面的其他子页面的链接

    假设以下情况,有一个父页面,然后它有一些子页面。当你打开父页面的时候,你想在 sidebar 显示它的子页面的链接。 当你打开子页面链接的时候,你还是想要显示同样一组链接。现在问题是,首先要判断现在的页面时是相同父页面的其他子页面。我们无法通过一个简单 WordPress 函数就能解决这个问题。

    下面是详细解决方法:

    <?php
    if($post->post_parent)
        $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
    else
        $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
    if ($children) {
        echo '<ul>';
            echo $children;
        echo '</ul>';
    } ?>
  • [更新]免费wordpress主题 king51-blog

    免费wordpress主题 king51-blog更新至 0.6

    HTML5+CSS3编写,代码简洁,文件小的不能再小了~~~

    目前主体只适用于wordpress3及以上.

    下载地址:http://down.qiannao.com/space/file/king51/-4e0a-4f20-5206-4eab/King51blog.rar/.page

    更新:1.原生嵌套评论

                 2.改进浏览器兼容性

                 3.增加加载进度条

                 4.细节上的代码优化.

  • wordpress工作原理

    WP初始化的过程:当你输入 http://XXX.com/wordpress 对wordpress进行初始化时,wordpress默认会找
    根目录下的index.php页面,看一下index.php页面。

    define('WP_USE_THEMES', true);
    /** Loads the WordPress Environment and Template */
    require('./wp-blog-header.php'); ---把/wp-blog-header.php包含进来

    你会发现,它会去调用根目录下的wp-blog-header.php,我们继续看wp-blog-header.php。

    if ( !isset($wp_did_header) ) {
    $wp_did_header = true;
    require_once( dirname(__FILE__) . '/wp-load.php' ); ---加载wp-load.php
    wp(); ---加载function WP();
    require_once( ABSPATH . WPINC . '/template-loader.php' ); ---加载模板文件
    }

    通过wp-load.php,wordpress先后把wp-config.php, wp-setting.php,classes.php,fucntions.php,

    query.php等文件加载进来,并建立了三个全局变量,$wp_the_query,$wp_rewrite和$wp ,分别为WP_Query,
    WP_Rewrite和WP类的实例。然后,wp-blog-header执行wp()函数,并通过其调用$wp所属WP类的main方法,
    这个方法又调用一系列方法,但最重要的是parse_request方法, WP从这里开始解析URL并建立主循环。

    我们看一下wordpress的主方法:


    function main($query_args = '') {
    $this->init(); --初始化环境
    $this->parse_request($query_args); --解析请求
    $this->send_headers(); --发送头信息
    $this->query_posts(); --查询日志
    $this->handle_404(); --操作404(URL地址不存在)
    $this->register_globals(); --注册全局变量
    do_action_ref_array('wp', array(&$this));
    }

    这基本上就是wordpress初始化时的信息。
    下面就讨论一下当我们设置自定义的永久链接时,wordpress的运作过程。

    当我们使用了自定义的永久链接的时候,wordpress会自动生成.htaccess文件,并且在这个文件中生成相
    对应于永久链接的匹配规则,在wordpress/wp-includes/rewrite.php中有针对.htaccess文件的重写规则,其
    中$use_verbose_rules参数规定了输出信息的详尽和简约,默认的情况下为false。输出的信息比较简单,
    如下

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress
    

    如果想查看完整的匹配规则,就把$use_verbose_rules设置为true。

    wordpress在对使用了自定义的永久链接进行处理时,它还是会调用wp-include/classes.php文件中
    的parse_request函数,对发过来的请求进行解析,无论是否为pathinfo类型的请求,都会被赋值给
    $request参数,然后调用该参数与.htaccess中的规则进行匹配,如果找到一个匹配就会“发送头信息”
    、“查询日志”,如果没有任何匹配就会返回404错误。

  • 教你如何给WordPress主题创建内置联系表单

    网上有很多WordPress插件可以给你的博客添加联系表单,但其实并不一定要插件才能实现,这篇教程就将向大家显示如何给WordPress主题创建一个内置的联系表单。

    步骤一: 创建页面模板

    当然第一步是要创建一个页面模板。先创建一个 page-contact.php的文件,然后将page.php文件里的代码复制到这个新建的文件里。

    为了确保WordPress能够将它当作一个页面模板来看待,我们需要在 contact.php文件的开头添加下面的注释

    (更多…)

  • WordPress插件:WP-PostViews Plus

    WP-PostViews Plus 是一个基于 WP-PostViews 插件的增强版。增强后的插件不仅可以显示文章的浏览次数或者按浏览次数显示热门文章,还可以让你显示的浏览数区分是读者还是爬虫,并扩充了不少函数,比如按天、分类显示浏览最多的文章等等。

    查看原文:WordPress插件:WP-PostViews Plus插件下载地址

    演示:http://www.itbloger.info/54 文章下面