三个使用WordPress自定义域做的小工具

刚开始建立WordPress博客的时候对于自定义域不是很了解,之后通过搜索相关知识:发现原来WordPress自定义域可以做很多事情,今天断桥残雪就说说WordPress自定义域三个用处:给某一日记添加js或者CSS给加密的日志添加密码提示信息首页显示日志缩略图

给某一日记添加js或者CSS

WordPress 在发布日志时会对过滤一些Javascript、CSS内容,所以我们无法直接把JS、CSS直接写到日志,当然我们可以通过修改主题来实现。可是如果修改主题,把JS或者CSS的内容添加到 header.php 文件中,那么博客所有的页面都会加载这些内容,这样势必会造成整个博客效率下降。所以这个时候我们可以通过 WordPress 自定义域来给某篇的日志单独加载Javascript 和CSS。文章最后再介绍一种管理WordPress自定义域的小技巧工具。

假设我们给日志单独加载JS、CSS的自定义域名称是 head_JS_CSS。那么你首先需要把下面这段代码复制到你主题根目录下的 functions.php 文件中:


function head_JS_CSS(){
    if (is_single() || is_page()) {
        global $post;
        $head_JS_CSS = get_post_meta($post->ID, 'head_JS_CSS', true);
        echo $head_JS_CSS;
    }
}
add_action("wp_head","head_JS_CSS");

现在你在添加日志的时候,在WordPress自定义域区域,创建一个新的名称为:”head_JS_CSS”自定义域,在“值”输入你要单独为这篇日志加载的 Javascript 代码或者 CSS 即可。

给加密的日志添加密码提示信息

当我们添加一篇加密的文章时,或许我们需要部分人知道密码的时候,可以试试做个密码提示,例如:××的生日。
假设我们给日志添加密码提示的自定义域名称是password_hint。那么你首先需要把下面这段代码复制到你主题根目录下的 functions.php 文件中:

function password_hint( $c ){
    global $post, $user_ID, $user_identity;
    if ( empty($post->post_password) )
        return $c;
    if ( isset($_COOKIE['wp-postpass_'.COOKIEHASH]) && stripslashes($_COOKIE['wp-postpass_'.COOKIEHASH]) == $post->post_password )
    return $c;
    //替换
    if($hint = get_post_meta($post->ID, 'password_hint', true)){
        $url = get_option('siteurl').'/wp-pass.php';
        if($hint)
        $hint = '密码提示:'.$hint;
        else
        $hint = "请输入您的密码";
        if($user_ID)
        $hint .= sprintf('欢迎进入,您的密码是:', $user_identity, $post->post_password);
        $out = <<<END
<form method="post" action="$url">

这篇文章是受保护的文章,请输入密码继续阅读:

    <div class="rowl">
    <label>$hint

    <input class="textfield" type="password" name="post_password"/></label>
    <input class="button bias" type="submit" value="Submit" name="Submit"/>
    </div>
</form>
END;
        return $out;
}else{
    return $c;
}
}
add_filter('the_content', 'password_hint');

然后在你添加日志的时候,在WordPress自定义域区域,创建一个新的名称为:”password_hint”的自定义域,在“值”输入你密码提示:如断桥残雪的生日阳历是几号?

显示日志缩略图

这个比较简单,不过效果很帅,会实现就像cnbeta那样的首页日记缩略图功能。
假设我们给日志添加缩略图的自定义域名称是 image_thumb。那么你首先需要找到你主题根目录下的 index.php文件中的类似

<?php the_content('Read the rest of this entry &raquo;'); ?>```代码前面添加如下代码:

```html">[" title="<?php the_title(); ?>

![](<?php $values = get_post_custom_values()" alt="<?php the_title(); ?>" />
](<?php the_permalink() ?)

然后在你添加日志的时候,在WordPress自定义域区域,创建一个新的名称为:”image_thumb”自定义域,在“值”输入你要为本篇日志上传的图片的 URL。

自定义域多了的小技巧

自定义域多了,我们都不好记了,或者类似加密提示的自定义域我们不经常用,当用起来的时候也许我们就忘记他们的名字了,怎么办呢~断桥残雪有个好方法,就是在后台添加、编辑日记的页面右侧添加一个提示,效果如下所示:
WordPress添加自定义域提示

我们只需要找到主题文件夹的根目录下的functions.php文件,添加以下代码即可:

function custom_fields_tip(){
    $h3 = "欢迎使用自定义域";    
    $html=<<<END
<div class="stuffbox meta-box-sortables ui-sortable">

### $h3

    <div class="inside">

如果你正在发布或编辑一篇受密码保护的文章,建议您添加一个名称为'password_hint'的自定义域.用来提示访客.
使用'head_JS_CSS'可以添加css、js到头部.
使用'image_thumb'可以给文章添加缩略图

    </div>
</div>
END;
    echo $html;
}
add_action('submitpost_box', 'custom_fields_tip');
add_action('submitpage_box', 'custom_fields_tip');