刚开始建立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 »'); ?>```代码前面添加如下代码:
>
```html">[" title="<?php the_title(); ?>
> ![](<?php $values = get_post_custom_values()" alt="<?php the_title(); ?>" />
> ](<?php the_permalink() ?)
然后在你添加日志的时候,在WordPress自定义域区域,创建一个新的名称为:”image_thumb”自定义域,在“值”输入你要为本篇日志上传的图片的 URL。
自定义域多了的小技巧
自定义域多了,我们都不好记了,或者类似加密提示的自定义域我们不经常用,当用起来的时候也许我们就忘记他们的名字了,怎么办呢~断桥残雪有个好方法,就是在后台添加、编辑日记的页面右侧添加一个提示,效果如下所示:
我们只需要找到主题文件夹的根目录下的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');