如果你的开放注册的 WordPress 博客的用户忘记了他们的用户名,但是应该很小机会他们会连自己注册时候所用的邮箱也会忘记,所以如果可以使用邮箱登陆 WordPress 的话,对于用户来说会更加方便。 而 WordPress 对于用户注册提交的邮件也是要求唯一的,所以使用邮箱登陆是完全可行的。WP Email Login 这个插件就是实现使用邮箱登陆 WordPress 后台。并且这个使用非常简单,只需上传激活即可。 下载:WP Email Login。 标签:WordPress 技巧 WordPress 插件
技巧
WordPress 技巧:移除 WordPress 后台的主题编辑器
我们知道在 WordPress 后台 > 主题 > 编辑器 菜单下可以直接编辑主题,但是直接在后台修改主题,一不小心改错会把整个网站搞挂掉(特别是修改当前主题的 functions.php 文件),或者不小心按错把一些代码删错,所以最好就把这个菜单移除了。代码如下,添加当前主题的 functions.php 文件即可: function remove_editor_menu() { remove_action(‘admin_menu’, ‘_add_themes_utility_last’, 101); } add_action(‘_admin_menu’, ‘remove_editor_menu’, 1); 标签:WordPress 技巧
WordPress 技巧:动态修改 WordPress Heading 标签
在博客的首页或者其他列表页,一般来说 H1 标签是博客的标题,H2 是日志的标题,而到了日志的页面,则日志的标题应该是给予 H1 标签,这个无论从语义上说还是 SEO 上说都是最好的,那么日志的内容怎么给设置子标题的 heading 标签呢? 按照语义,在日志页面,H1 是日志的标题,那么日志的第一级子标题是 H2,然后是 H3,这样的话,到了首页和列表页,如果还是显示全文,那么就可能出现博客子标题和博客标题的 Heading 标签都是 H2,这个显然不符合语义,对 SEO 也是没有帮助,所以我们需要在首页或者列表页对日志内容中 Heading 标签就行降级,下面是具体的代码,添加到主题的 functions.php 即可: add_filter( ‘the_content’, ‘wp_dynamic_headings’ ); function wp_dynamic_headings( $content ) { if(is_singular()){ return $content; } $content = str_replace( array( ‘<h5’, ‘</h5>’ ), array( ‘<h6’, ‘</h6>’ ), $content ); $content = str_replace( array( ‘<h4’, ‘</h4>’ […]
WordPress 技巧:创建博客作者页面
根据 WordPress 模板结构,WordPress 会使用 author.php 文件,如果没有,就会使用 archive.php 文件,如果还是没有,最后就会使用 index.php 文件来显示博客的某个作者的文章列表。 所以如果你想改变你的博客作者列表页面的样子,需要创建一个 author.php 文件,如果不存在,通过拷贝 archive.php,如果 archive.php 也不存在,那就拷贝 index.php吧。 如果你想显示作者的网站,邮箱和个人履历等这些资料,让读者更多地了解这个作者。可以加上以下代码: Articles by <?php the_author(); ?> Author Website: <?php the_author_url(); ?> Author Email: <?php the_author_email(); ?> Author Bio: <?php the_author_description(); ?> 标签:WordPress 技巧
WordPress 技巧:自动清理评论回收站
在 wp-config.php 文件中添加以下代码即可: define(‘EMPTY_TRASH_DAYS’, 1); 上面的 1 就是每天自动清理下评论回收站,如果要 3 天就改成 3,当然也可以改成其他数字。 标签:WordPress 技巧
WordPress 技巧:强制 WordPress 直接升级
当添加,删除,升级 WordPress 插件或者直接升级 WordPress 的时候,有些用户的 WordPress 无法直接升级,总是提示让你输入 FTP/SFTP 帐号信息,这是因为 WordPress 是基于文件的所有者来判断的,如果你的服务器的用户名和文件的用户名不是一样的,那么 WordPress 就会让你通过 FTP/SFTP 来进行更新。 但是如果服务器的用户其实已经有权限对 FTP/SFTP 上传的文件进行读写的话,我们除了在 wp-config.php 定义 FTP/SFTP 信息之外,其实我们还可以强制 WordPress 直接升级。只需要在 wp-config.php 添加如下一行代码即可: define(‘FS_METHOD’,’direct’); 标签:WordPress 技巧
WordPress 技巧:移除留言表单的 URL 字段
如果你使用的是 WordPress 标准的留言模板,并且你想移除留言表单的 URL 字段,你可以在当前主题的 functions.php 添加如下代码: function wpjam_remove_comment_fields($fields) { unset($fields[‘url’]); return $fields; } add_filter(‘comment_form_default_fields’,’wpjam_remove_comment_fields’); 标签:WordPress 技巧
WordPress 技巧:如何获取日志内容的第一段
如果日志没有填摘要,使用日志的第一段作为摘要是不错的选择,那么如何获取日志内容的第一段呢?可以使用下面的函数: function get_first_p($post){ //如果是使用 Windows Live Writer 这些工具写日志,可能使用<p>和</p>进行分段 if(preg_match(‘/<p>(.*)<\/p>/iU’,trim(strip_tags($post->post_content,”<p>”)),$matches)){ return $matches[1]; } else { //如果直接在 WordPress 写日志,使用换行符(\n)来分段 $post_content = explode(“\n”,trim(strip_tags($post->post_content))); return $post_content [‘0’]; } } 标签:WordPress 技巧
WordPress 技巧:移除 Admin Bar 上的 WordPress Logo
继续分享 WordPress 技巧,这次分享的是:如何移除 Admin Bar 上的 WordPress Logo,同样是把下面的代码复制到当前主题的 functions.php 文件中: <?php function wpjam_admin_bar_remove() { global $wp_admin_bar; /* Remove their stuff */ $wp_admin_bar->remove_menu(‘wp-logo’); } add_action(‘wp_before_admin_bar_render’, ‘wpjam_admin_bar_remove’, 0); ?> 标签:WordPress 技巧
WordPress 技巧:如何获取日志内容的第一段
如果日志没有填摘要,使用日志的第一段作为摘要是不错的选择,那么如何获取日志内容的第一段呢?可以使用下面的函数: function get_first_p($post){ //如果是使用 Windows Live Writer 这些工具写日志,可能使用<p>和</p>进行分段 if(preg_match(‘/<p>(.*)<\/p>/iU’,trim(strip_tags($post->post_content,”<p>”)),$matches)){ return $matches[1]; } else { //如果直接在 WordPress 写日志,使用换行符(\n)来分段 $post_content = explode(“\n”,trim(strip_tags($post->post_content))); return $post_content [‘0’]; } } 标签:WordPress 技巧
WordPress 技巧:移除 Admin Bar 上的 WordPress Logo
继续分享 WordPress 技巧,这次分享的是:如何移除 Admin Bar 上的 WordPress Logo,同样是把下面的代码复制到当前主题的 functions.php 文件中: <?php function wpjam_admin_bar_remove() { global $wp_admin_bar; /* Remove their stuff */ $wp_admin_bar->remove_menu(‘wp-logo’); } add_action(‘wp_before_admin_bar_render’, ‘wpjam_admin_bar_remove’, 0); ?> 标签:WordPress 技巧
WordPress 技巧:把页面从搜索结果中排除
默认情况下,WordPress 搜索结果显示发布的日志和页面,如果你想把页面从 WordPress 搜索结果中排除,在当前主题的 functions.php 文件中添加如下的函数: add_filter(‘pre_get_posts’,’search_filter’); function search_filter($query) { if ($query->is_search) { $query->set(‘post_type’, ‘post’); } return $query; } 当然,你也可以把 post_type 设置为 page,这样搜索结果只有页面。 标签:WordPress 技巧
WordPress 技巧:在注册页面显示自定义消息
如果你的 WordPress 博客是开放注册,并且你想在注册界面给用户做些自定义信息提示,你可以在当前主题的 functions.php 文件加入以下代码: add_action(‘register_form’, ‘wpjam_register_message’); function wpjam_register_message() { $custom_message = ‘ <div style=”margin:10px 0;border:1px solid #e5e5e5;padding:10px”> <p style=”margin:5px 0;”> 欢迎注册我爱水煮鱼。 </p> </div>’; echo $custom_message; } 标签:WordPress 技巧
WordPress 技巧:通过 ID 快速获取日志内容
如果已经知道 ID,我们一般可以通过下面的代码获取日志内容: $post = get_post($post_id); $post_content = $post->post_cotent; 其实我们可以通过 get_post_field 这个函数更简单更快速的方式获取日志内容: $post_content = get_post_field(‘post_content’, $post_id); 实际上这个函数还可以用来快速获取日志的其他字段,详细可以参考 get_post_field 函数的 codex 页面。 标签:WordPress 技巧
WordPress 技巧:如何修改 WordPress 数据库前缀
我们知道 WordPress 的数据库表,可以设置前缀,默认是 wp_,很多同学也就默认用了 wp_,如果某种原因(比如提高安全性)要修改的 WordPress 数据的前缀,我们应该怎么做? 开始之前 修改数据是一件风险很高的工作,开始之前必然就是做好数据库备份,也可以把博客设置为维护状态。 在 wp-config.php 修改数据库前缀 打开你的 wp-config.php 文件,把数据库前缀 wp_ 改成你想要的前缀,比如 wpjam_。 $table_prefix = ‘wpjam_’; 修改数据表名字 打开 PHPMySQL,找到你的数据库,然后执行以下 SQL,把所有数据库表前缀从 wp_ 改成 wpjam_。 RENAME table `wp_commentmeta` TO `wpjam_commentmeta`; RENAME table `wp_comments` TO `wpjam_comments`; RENAME table `wp_links` TO `wpjam_links`; RENAME table `wp_options` TO `wpjam_options`; RENAME table `wp_postmeta` TO `wpjam_postmeta`; RENAME table […]
WordPress 技巧:在特定日志类型中进行搜索
如果你的 WordPress 使用了多个日志类型(Post Type),并且只想在搜索结果中只显示特定的日志类型,可以在 functions.php 文件中添加如下代码。 function wpjam_search_filter($query) { if ($query->is_search) { $query->set(‘post_type’, ‘your_post_type’); } return $query; } add_filter(‘pre_get_posts’,’wpjam_search_filter’); 注意需要将第三行的 your_post_type 改成你要搜索的日志类型的名称。 标签:WordPress 技巧
WordPress 技巧:给 WordPress Page 添加摘要输入框
SEO 一个方面就是给页面添加 Meta Description,虽然添加 Description 不会更改页面的权重,但是在 Google 等现代搜索引擎的搜索结果页面会直接使用 Description 来作为搜索结果,这样显示得更加友好,用户也能一眼就知道博客文章或者页面主要内容是什么,使得用户更加容易点击你的页面,增加博客的流量。 我一般是使用 WordPress 的摘要直接作为 Meta Description 进行 SEO,但是默认情况下 WordPress Page 编辑页面没有摘要(Excerpt)输入框,所以对 WordPress 进行 SEO 的时候比较麻烦。 这个时候我们就可以通过以下代码给我 WordPress Page 添加摘要输入框: add_action( ‘admin_menu’, ‘my_page_excerpt_meta_box’ ); function my_page_excerpt_meta_box() { add_meta_box( ‘postexcerpt’, __(‘Excerpt’), ‘post_excerpt_meta_box’, ‘page’, ‘normal’, ‘core’ ); } 只需将以上的代码添加到当前主题的 functions.php 文件即可。当然你也可以添加一个插件头,作为一个单独插件使用。这样在 WordPress 后台编辑 Page 的时候和编辑 Post 一样有摘要输入框了。 标签:SEO WordPress […]
WordPress 技巧:在 Footer 载入 jQuery 代码
在 Footer 加载 Javascript 代码是最好的方式,但是 WordPress 总是在 head 加载 jQuery 代码,那么怎么在 Footer 加载 jQuery 代码呢? 在当前主题的 functions.php 函数中添加如下代码: function wpjam_load_jquery_in_footer( &$scripts) { if ( ! is_admin() ) $scripts->add_data( ‘jquery’, ‘group’, 1 ); } add_action( ‘wp_default_scripts’, ‘wpjam_load_jquery_in_footer’ ); 标签:WordPress 技巧

WordPress 技巧:给 WordPress 分配更多的内存
WordPress 的功能不断的增多,WordPress 运行所需的内存也不断增多,如果内存不够,你在 WordPress 操作的时候,就会碰到像这样的问题”Allowed memory size of xxxxxx bytes exhausted”(允许的内存 xxxx 字节已经用光了),这时候你需要给 WordPress 分配更多的内存。 默认情况下,WordPress 会尝试分配 32M 内存(在 settings.php 文件中设置),如果你服务器支持增加 PHP 内存限制,你可以通过在 wp-config.php 文件中给 WordPress 分配更多的内存。 // 更多内存 define(‘WP_MEMORY_LIMIT’, ’64M’); // 再次更多内存 define(‘WP_MEMORY_LIMIT’, ’96M’); // 非常不错的内存 define(‘WP_MEMORY_LIMIT’, ‘128M’); 你可以一步一步增加内存,如果没有出现空白,则运行良好,比如我爱水煮鱼就增加到 128M 内存。 我爱水煮鱼的内存和使用率 给 WordPress 分配更多的内存需要你使用的服务器支持,一般的虚拟主机都是不支持的,甚至有些虚拟主机把 PHP 允许的内存设置为 8M,所以这个也是我为什么一直在博客中让大家尽量使用 (mt) Media Temple 主机的原因,除了稳定之外,完全可以对服务器按照自己的想法设置。 标签:WordPress 技巧
WordPress 技巧:禁用 RSS Feed
现在通过 RSS 阅读的同学越来越少了,并且 RSS 还成为了一些垃圾站快速全文抄袭的方式,所以如果你想禁用 RSS Feed,可以在当前主题的 functions.php 文件中添加如下代码: function wpjam_disable_feed() { wp_die(__(‘<h1>本博客不再提供 Feed,请访问网站<a href=”‘.get_bloginfo(‘url’).'”>首页</a>!</h1>’)); } add_action(‘do_feed’, ‘wpjam_disable_feed’, 1); add_action(‘do_feed_rdf’, ‘wpjam_disable_feed’, 1); add_action(‘do_feed_rss’, ‘wpjam_disable_feed’, 1); add_action(‘do_feed_rss2’, ‘wpjam_disable_feed’, 1); add_action(‘do_feed_atom’, ‘wpjam_disable_feed’, 1); 标签:WordPress 技巧
WordPress 插件开发技巧:在上传目录下创建子目录
当你创建的 WordPress 插件需要自己的独立的上传目录的时候,可以在你的插件中添加如下代码,这样在插件激活的时候自动在 WordPress 上传目录(wp-content/uploads/)下创建自己独立的上传目录: register_activation_hook( __FILE__, ‘wpjam_plugin_activate’ ); function wpjam_plugin_activate() { $upload = wp_upload_dir(); $upload_dir = $upload[‘basedir’]; $upload_dir = $upload_dir . ‘/wpjam-files’; if (! is_dir($upload_dir)) { mkdir( $upload_dir, 0700 ); } } 标签:WordPress 技巧
WordPress 技巧:自动隐藏邮件地址防止垃圾邮件
垃圾邮件真的是防不胜防,前面我写过一个插件 Antispambot ShortCode,通过 ShortCode 的方式输入邮件地址实现隐藏邮件地址,不被机器收集,从而达到防止垃圾邮件的目的。不过这个方法还是有点不方便,输入邮件的时候需要试用 ShortCode 方式。今天就介绍一种新方法,在撰写日志的时候直接输入邮件地址,也会自动被隐藏。 下面的代码通过正则提取内容中的邮件地址,然后使用 WordPress 的 antispambot 函数隐藏 email 地址。 add_filter( ‘the_content’, ‘wpjam_hide_emails’, 99 ); add_filter( ‘widget_text’, ‘wpjam_hide_emails’, 99 ); function wpjam_hide_emails($content) { $pattern = ‘/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})/i’; return preg_replace_callback($pattern, “wpjam_hide_emails_callback”, $content); } function wpjam_hide_emails_callback($match) { return antispambot($match[1]); } 只需要将以上代码复制到当前主题的 functions.php 文件中即可,或者直接下载我的 Antispambot ShortCode 插件,已经集成该功能。 标签:WordPress 技巧
WordPress 技巧:给外部链接自动添加 nofollow
在撰写日志的时候,经常会引用一些外部链接,如果你不想给这些外部链接传递权重,你需要给这些外部链接加上 rel=”nofollw” 属性,如果每个外部链接都需要手工添加,那么会非常麻烦,你可以在当前主题的 functions.php 中添加如下代码,它会给外部链接自动添加 nofollow。 add_filter(‘the_content’, ‘wpjam_auto_nofollow’); function wpjam_auto_nofollow($content) { return preg_replace_callback(‘/<a>]+/’, ‘wpjam_auto_nofollow_callback’, $content); } function wpjam_auto_nofollow_callback($matches) { $link = $matches[0]; $site_link = get_bloginfo(‘url’); if (strpos($link, ‘rel’) === false) { $link = preg_replace(“%(href=S(?!$site_link))%i”, ‘rel=”nofollow” $1’, $link); } elseif (preg_match(“%href=S(?!$site_link)%i”, $link)) { $link = preg_replace(‘/rel=S(?!nofollow)S*/i’, ‘rel=”nofollow”‘, $link); } return $link; } 当然给所有外部链接都加上 rel=”nofollw” 属性在 SEO […]
WordPress 技巧:不用插件实现 Pagenavi 功能
Pagenavi 是一个很好的功能,现在 WordPress 博客一般都是使用 WP-Pagenavi 插件来实现,其实 WordPress 现在已经自己支持 Pagenavi 功能了,只需要将下面简单的代码复制到当前主题的 functions.php 文件中,然后再相关的主题模板文件中使用 native_pagenavi() 函数就能实现 Pagenavi 的功能。 function native_pagenavi(){ global $wp_query, $wp_rewrite; $wp_query->query_vars[‘paged’] > 1 ? $current = $wp_query->query_vars[‘paged’] : $current = 1; $pagination = array( ‘base’ => @add_query_arg(‘page’,’%#%’), ‘format’ => ”, ‘total’ => $wp_query->max_num_pages, ‘current’ => $current, ‘prev_text’ => ‘« ‘, ‘next_text’ => ‘ »’ […]
WordPress 技巧:如何把时间显示成“xxx前”格式
在微博中,时间的格式都是显示成:20秒前,1小时前,3天前这样的格式,其实 WordPress 也有一个函数可以把时间显示成这样的格式,这个函数就是:human_time_diff,它有两个参数,一个是 $from,一个是 $to,就是比较的两个时间戳。 比如要日志的发表时间要改成: <?php echo human_time_diff(get_the_time(‘U’), current_time(‘timestamp’)) . ‘ ago’; ?> 而留言改成: <?php echo human_time_diff(get_comment_time(‘U’), current_time(‘timestamp’)) . ‘ ago’; ?> 标签:WordPress 技巧
WordPress 技巧:提高 WordPress 搜索的相关性
实在扛不住 Google 自定义搜索的速度了,把我爱水煮鱼的搜索换回了 WordPress 自带的搜索,但是 WordPress 的默认搜索结果是按照文章的发布时间来排序的,这样的搜索结果的相关性并不强,应该让搜索结果按照内容相关性排序,而不是按照时间或者 ID,所以我们可以在当前主题的 functions.php 添加如下代码来增强 WordPress 搜索的相关性: add_filter(‘posts_orderby_request’, ‘wpjam_search_orderby_filter’); function wpjam_search_orderby_filter($orderby = ”){ if(is_search()){ global $wpdb; $keyword = $wpdb->prepare($_REQUEST[‘s’],”); return “((CASE WHEN {$wpdb->posts}.post_title LIKE ‘%{$keyword}%’ THEN 2 ELSE 0 END) + (CASE WHEN {$wpdb->posts}.post_content LIKE ‘%{$keyword}%’ THEN 1 ELSE 0 END)) DESC, {$wpdb->posts}.post_modified DESC, {$wpdb->posts}.ID ASC”; }else{ return $orderby; } […]
WordPress 技巧:禁用 XML-RPC 接口
在 WordPress 3.5 之前,XML-RPC 服务一直默认是的被禁用的,因为它会造成安全漏洞,比如垃圾留言和 Trackback Spam 等。但是 WordPress 3.5 版本的发布将改变这个设置。因为 WordPress 开发团队的努力,这一安全隐患被修正,所以 WordPress 索性默认将其开启,并且不在后台提供关闭选项(真流氓 )。 并且 WordPress 更新到 3.5 之后,数据库中的 “enable_xmlrpc” 选项字段也将被删除,这样即使你在之前把 XML-RPC 设置为关闭,到了 WordPress 3.5 之后,也将开启(非常流氓 )。 如果我们只是在 WordPress 后台写写博客,也用不到类似于 WLW 这样的客户端,其实 XML-RPC 这个服务真的没有必要,如果你还是想关闭的话,怎么办呢?在当前主题的 functions.php 文件添加如下一行代码即可: add_filter(‘xmlrpc_enabled’, ‘__return_false’); 另外因为 XML-RPC 的改进,和其服务默认开启之后,Atom publishing 得到开发者使用的机会越来越少,WordPress 也将其服务也从核心代码中删除,如果你要使用这个服务,你要通过插件的方式来激活了:Atom Publishing Protocol 标签:WordPress 技巧
WordPress 技巧:如何彻底关闭 Trackbacks
什么是 Trackbacks Trackbacks 是 Web 2.0 发展初期的产物,你在自己的博客引用别人的日志,那么在发表完日志之后,对方的博客就会自动在你所评论的日志评论区添加你的引用信息,其他人就可以很清楚看到你的引用,并且方便地点击就可以来看你的文章,所以 Trackbacks 就成为了博客之间一种通讯的机制和协议,可以看到别人是如何看待自己的日志。 虽然 WordPress 这样的开源程序还使用 Pingbacks 机制,使用户不必输入 Trackbacks 地址就能实现 Trackbacks,并且 Trackbacks 功能还能让你看到谁链接了你的博客(当然也包括抄袭者),但是 Trackbacks 实际用途并没有按照当初设计那样被要用于交流,更多的是 Spammer 滥用,Spamer 利用只要知道日志的 Trackbacks 地址就可以发送 Trackbacks 这一漏洞,频发 Trackbacks,并且 Akismet 也经常漏掉,如果不慎其烦的话,就可以关闭 WordPress 的 Trackbacks。 如何彻底关闭 Trackbacks 关闭 Trackbacks 首先需要到 WordPress 后台,Setting(设置)-> Discussion(评论设置)中,把 Allow link notifications from other blogs (pingbacks and trackbacks.) (允许接受来自其它 Blog 的链接通告(包括引用和通告) )这一项取消。 […]
WordPress 技巧:非管理员可以设置自定义分类
如果你是一个 WordPress 开发者,给自己的日志(或者自定义类型的日志)添加自定义分类模式(custom taxonomy),并且你的系统还支持注册用户在前台通过一个表单来投稿,并且需要用户也能输入自定义分类,这个时候你就使用 wp_insert_post 函数来插入日志,但是 wp_insert_post 函数内部是有权限判断的: if ( current_user_can($taxonomy_obj->cap->assign_terms) ) wp_set_post_terms( $post_ID, $tags, $taxonomy ); 自定义分类模式(custom taxonomy)默认的 assign_terms 权限是:manage_categories,可以管理分类,而只有管理员或者编辑(editor)可以管理分类。所以我们在创建自定义分类的时候,就要将其 assign_terms 权限设置为支持订阅者。比如: register_taxonomy( ‘device’, ‘post’, array( ‘hierarchical’ => true, ‘label’ => ‘适用设备’, ‘query_var’ => true, ‘rewrite’ => array(‘slug’ => ‘device’,’with_front’=>false), ‘capabilities’ => array( ‘manage_terms’ => ‘manage_categories’, ‘edit_terms’ => ‘manage_categories’, ‘delete_terms’ => ‘manage_categories’, ‘assign_terms’ => […]
WordPress 技巧:如何解决“Fatal error: Call to a member function get() on a non-object”
在自己代码的函数中使用 require(BASE_PATH . ‘wp-load.php’); 引入 WordPress 核心代码,然后执行 WP_Query 获取特定的日志,然后就发生下面的错误: Fatal error: Call to a member function get() on a non-object in [path to site]\site\wp-includes\query.php on line 27 这是因为全局变量不正确使用引起的问题,默认 $wp_query 是在 wp-setting.php 中定义的,因为是定义在最外层,所以 $wp_query 自然就是一个全局的变量。但是这里在自己的函数中通过 require(BASE_PATH . ‘wp-load.php’); 引入 WordPress 核心代码,$wp_query 反而变成这个函数中的本地变量,所以其他代码调用 $wp_query 的时候,就发生了错误。 解决方法是:在 require(BASE_PATH . ‘wp-load.php’); 代码上面加入以下代码,预先将 $wp_query 定义为全局变量: define(‘WP_USE_THEMES’, false); global $wp, $wp_query, […]
WordPress 技巧:关闭后台的文件编辑功能
我已经介绍了在 WordPress 后台移除主题编辑器,今天继续加深,直接关闭 WordPress 后台的文件编辑功能。 在 wp-config.php 添加下面两行代码: define(‘DISALLOW_FILE_EDIT’, true); define(‘DISALLOW_FILE_MODS’,true); 标签:WordPress 技巧

WordPress 技巧:自定义后台用户联系方式
在 WordPress 后台,个人设置(Profile)中,除了可以设置电子邮件和 Website 之外,还可以设置自己的联系方式,比如 AIM, Yahoo IM, Jabber/Google Talk。但是除了 Gtalk 之外,其他两个中国人基本不用,那么如何去掉我们基本不用的 AIM 和 Yahoo IM,并加上国人常用的 QQ, MSN 和飞信呢? 其实在 WordPress 中实现这样的功能是非常容易的,只需要调用下 custom_contactmethods 这个 WordPress Filter 既可以实现在后台支持常用的 QQ, MSN 和飞信等联系方式,代码如下: <?php /* Plugin Name: Custom Contact Plugin URI: http://wpjam.com/ Description: 自定义博客的联系方式,从 WordPress 默认的 AIM, Yahoo IM 改为中国常见的 QQ, MSN 和飞信。 Version: 1.0 Author: Neekey Author […]
WordPress 技巧:获取日志中的第一个链接
我们知道 WordPress 日志格式(Post format)中有个 link 的格式,如果你的主题启用了 Post format 功能并且使用了 Link 这个格式,那么你想这篇日志直接链接到日志中的第一个链接。 function get_content_first_link( $content = false){ if ( $content === false ) $content = get_the_content(); preg_match_all(‘/<a.*?href=[\'”](.*?)[\'”].*?>/i’, $content, $links); if($links){ return $links[1][0]; }else { return false; } } 将上面的代码复制到当前主题的 functions.php,然后使用下面的方式引用: <h2><a href=”<?php echo get_content_first_link(get_the_content()); ?>”><?php the_title(); ?></a></h2> 标签:WordPress 技巧

