使用自定义字段来显示日志缩略图

下面是实现使用自定义字段来显示日志缩略图的详细步骤:

1. 首先你应该能够上传图片到你的服务器,你可以通过 FTP 工具或者在 WordPress 后台通过其他任何 WordPress 插件上传图片。
2. 在撰写新日志的页面,向下滚动到一个叫做自定义字段(Custom Fields)的地方,点击按钮展开它。
3. 在 Key 字段输入 “image_thumb”,然后在 “Value” 字段输入你刚才上传的图片的 URL。
4. 然后继续你写日志的常规动作,增加标题,输入内容,选择分类,最后发布。
5. 现在打开你当前主题的 index.php 文件,搜索到下面这行:

1
<?php the_content('Read the rest of this entry &raquo;'); ?>

6. 这上面这行之前添加以下代码:

1
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php $values = get_post_custom_values("image_thumb"); echo $values[0]; ?>" alt="<?php the_title(); ?>" /></a>

原文:使用自定义字段来显示日志缩略图

一个 WordPress 安装,多个博客

这几天正好想装WPMU,看到了水煮鱼的这篇文章,看来省了装WPMU了。

你是否有多个博客,每个博客都是使用多个 WordPress 博客?那么你是否厌烦了重复多次的升级,重复多次的安装插件?如果是的,你是否尝试过一个 WordPress 安装,就能给多个博客使用呢?下面我就能讲讲我如何实现一个 WordPress 安装实现多个博客共同使用。

第一步,肯定是把所有的域名都指定到相同的 WordPress 安装目录下。这样才能使得所有博客使用同一个 WordPress 安装。

第二步要分两种情况:

第一种是使用不同的数据库。只需要在 wp-config.php 文件的开头加入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
$hostname = $_SERVER['HTTP_HOST'];
 
switch ($hostname) {
case "fairyfish.com":
    $db = "db1";
    break;
case "denis.fairyfish.com":
    $db = "db2";
    break;
}
 
// ** MySQL settings ** //
define('DB_NAME', $db);    // The name of the database

代码很简单就是根据不同的域名,给DB_NAM不同的数据库名的值。这里是假定你使用相同的数据库用户名,如果你的数据库用户名,也可以在每个 case 语句中指定。

第二种情况是使用相同的数据库,这个时候我们可以使用不同 table_prefix 来搞定。方法基本和上面相同。我也不再重复代码。对于这种情况,已经有一款插件他能帮助你完成所有的了工作,WP-Hive,这款插件除了能够给你不同的博客指定一个不同的table_prefix之外,还能够通过 rewriter 实现每个博客都能有自己的 favicon,sitemap.xml 和 robots.txt。

最后让所有的博客使用相同的用户。这个功能只能适合 WordPress 2.6 之后的版本。实现方法是在wp-config.php文件中指定 CUSTOM_USER_TABLECUSTOM_USER_META_TABLE 这两个值为常量,使得所有的博客都是用同一个 USERUSERMETA 表,从而达到所有博客拥有相同的用户。

原文链接:一个 WordPress 安装,多个博客

区分开 Comments 和 Trackbacks

实现这个功能主要的工作就是编辑你主题的 comments.php,当你找到你的 comments.php 的时候,现在我们开始修改代码:首先找到一下代码:

1
<?php foreach ($comments as $comment) : ?>

直接在它的下面增加以下代码:

1
2
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>

以上代码其实是告诉 WordPress 去获取留言的类别,如果留言的类别是 ‘comment’,就是是人留的言,显示它。

接着,我们需要插入更多的代码,在 comments.php 一直往下找,直到你看到:

1
<?php endforeach; /* end for each comment */ ?>

就在 endforeach 代码之前添加如下代码:

1
<?php } else { $trackback = true; } ?>

最后你需要插入代码去显示 trackbacks。

1
2
3
4
5
6
7
8
9
10
11
<?php if ($trackback == true) { ?>
<h3>Trackbacks</h3>
<ul id="trackbacks">
<?php foreach ($comments as $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php } ?>
<?php endforeach; ?>
</ul>
<?php } ?>

这些代码是告诉 WordPress 显示留言类别不是 ‘comment’ 的留言,包括 pingbacks 和 trackbacks。你现在在你的日志页面看到效果了(如果你使用了缓存插件,你需要刷新下你的缓存)。

原文:区分开 Comments 和 Trackbacks

让发布评论可以使用ctrl+enter快捷键

提供这个方法的原创作者是JAY
找到你当前使用的主题,编辑Comments.php,搜索如下代码:

1
2
3
...
</form>
...

找到以后在这个前面加上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">        
        document.getElementById("comment").onkeydown = function (moz_ev)
        {
                var ev = null;
                if (window.event){
                        ev = window.event;
                }else{
                        ev = moz_ev;
                }
                if (ev != null && ev.ctrlKey && ev.keyCode == 13)
                {
                        document.getElementById("submit").click();
                }
        }
</script>

收藏自:http://www.yofox.net/2008/09/postcomment-ctrl-enter/

不用插件,简单实现留言倒序

因为大多主题的留言薄都是将最新留言放在最下面,所以很不习惯,通过小修小改即可把留言顺序按照最新留言放在上面了——即实现倒序。

修改 comments.php 里面的评论顺序

1
2
3
4
//也很简单,只需要在文件中替换一处代码:
<?php foreach ($comments as $comment) : ?>
//替换成:
<?php foreach (array_reverse($comments) as $comment) : ?> 

如果有评论编号,做如下要改

通过上面的修改你的留言顺序应该倒过来了,如果有序号的话,还须把序号倒过来才算完美。不过有不少的模板主题的编号代码都不一样,有$iCommentCount或$iCommentnumber,我们仅用$iCommentCount做例子:

1
2
3
4
5
6
7
$iCommentCount = 0;
//...
<?php $iCommentCount++; echo($iCommentCount); ?>
//需要改成初始值为评论总数,输出一次自减一次,循环:
$iCommentCount = get_comments_number();
//...
<?php echo($iCommentCount); $iCommentCount--; ?>

收藏自:http://seosem.ws/wordpress/no-plugin-guestbook-sort/

显示同个父页面的其他子页面的链接

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

1
2
3
4
5
6
7
8
9
10
<?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的安全性设置和地址设置

加入SECRET_KEY
在config.php 文件里加上以下代码:

1
define('SECRET_KEY', '申请的KEY');

SECRET_KEY通过 http://api.wordpress.org/secret-key/1.0/生成。

变更 wp-content文件夹位置的相关
在config.php 文件里加上以下代码:

1
define('WP_CONTENT_DIR', 'http://an-liu.cn/assets/wp-content');

阻止别人浏览WordPress其他文件夹
在你的 .htaccess 文件里加上以下代码

1
Options All -Indexes

WordPress地址设置
在config.php 文件里加上以下代码 :

1
2
define('WP_HOME','wordpress安装地址');
define('WP_SITEURL','博客地址');

如果你想禁用Wordpress2.6的“日志修订”功能,可以参考我爱水煮鱼的方法,在wp-config.php中加入如下代码。

1
define('WP_POST_REVISIONS', false);

* true(默认)或者 -1:保存所有修订版本
* false 或者 0:不保存任何版本(除了自动保存的版本)
* 大于 0 的整数 n:保存 n 个修订版本(+1 只保存自动保存版本),旧的版本将被删除。

禁用Wordpress的自动保存可以用Disable autosave这个插件。

收藏自:WP中文Burwood

让WordPress支持镜像功能

找到wp-config.php,在中间空白处添加以下代码

1
2
$home = 'http://'.$_SERVER['HTTP_HOST']; //博客首页
$wpurl = 'http://'.$_SERVER['HTTP_HOST'].'/blog'; //WP程序的路径

注意这里的”‘/blog'”是要根据实际情况进行修改。比如,WP程序放在public_html/下,那么这里应该是’/’就可以;如果放在某个目录下,则改位目录名。

1
2
define('WP_HOME', $home);
define('WP_SITEURL', $wpurl);

收藏自:http://www.imzozo.com/archives/44