博客

WordPress 教程:非插件实现分类目录和标签添加新的自定义字段

如果需要在主题中调用分类自定义字段的值,可以使用以下代码:WordPress的分类目录默认只有名称、别名、父节点和描述这几个字段,有时候我们需要给分类目录拓展一些信息,如想添加一个分类封面图、给分类指定keywords和description等等,这个时候我们就得给分类目录添加自定义字段(或者叫自定义栏目)。本文将给你介绍如何给WordPress的分类目录和标签添加新的自定义字段。

下图是WordPress后台的分类目录编辑页面,有心的读者可能注意到,这里多了个分类封面的输入框,这个就是我们所说的给分类目录添加的自定义字段。

cattag

阅读全文

标准
博客

WordPress 教程:网站合并 移动旧文章评论到新文章方法

最近遇到一个特殊的情况,就是因网站合并需要将两篇文章的评论进行合并,现将方法整理在这里。因每篇文章步骤都是手动完成,所以该方法只适合小量文章的评论合并。

首先新建一篇文章。把旧文章的内容复制过去并发布。记下新文章和旧文章的ID

使用phpMyAdmin打开你的对应数据库 点击SQL打开命令框,在SQL命令框内运行以下命令:

UPDATE wp_comments SET comment_post_ID=新文章ID WHERE comment_post_ID=旧文章ID;

上面两处ID替换为你自己对应文章ID数字,此时旧文章的留言内容应该已经移动到新文章上了,不过文章的评论数值还没有移过来,所以还需要执行以下命令。

同样在SQL命令框运行以下命令:

SELECT comment_count FROM wp_posts WHERE ID=旧文章ID;

这个命令是用来获取旧文章的评论数量并在下方显示,记下这个数值

阅读全文

标准
博客

WordPress 教程:去除后台标题中的“—— WordPress”

默认情况下,在WordPress 后台页面的标题的尾部,都有 “—— WordPress”这一段,比如“仪表盘 < IMJEFF —— WordPress”,有些朋友出于某些目的,需要去掉最后的 “—— WordPress”,其实方法比较简单,用到 admin_title 这个过滤挂钩。具体的代码如下:

add_filter('admin_title', 'custom_admin_title', 10, 2);
function custom_admin_title($admin_title, $title){
 return $title.' &lsaquo; '.get_bloginfo('name');
}
标准
博客

WordPress 教程:WordPress 4.2+ 正确使用 Emoji 表情方法

如果你更新到 WordPress 的 4.2 版本,查看网页源代码你会发现 WordPress 会自动在加载一段用于支持 emjo 表情的脚本(JS+CSS)。对于大部分人来说,这个是十分鸡肋的功能,再加上 GFW 的强大力量,反而影响加载速度。

我们有两种解决方法:启用或禁用。

原因分析

脚本就是类似下面的代码:

 <script type="text/javascript">
 window._wpemojiSettings = {"baseUrl":"http:\/\/s.w.org\/images\/core\/emoji\/72x72\/","ext":".png","source":{"concatemoji":"http:\/\/devework.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.2"}};
 !function(a,b,c){function d(a){var c=b.createElement("canvas"),d=c.getContext&&c.getContext("2d");return d&&d.fillText?(d.textBaseline="top",d.font="600 32px Arial","flag"===a?(d.fillText(String.fromCharCode(55356,56812,55356,56807),0,0),c.toDataURL().length>3e3):(d.fillText(String.fromCharCode(55357,56835),0,0),0!==d.getImageData(16,16,1,1).data[0])):!1}function e(a){var c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f;c.supports={simple:d("simple"),flag:d("flag")},c.supports.simple&&c.supports.flag||(f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
 </script>
 <style type="text/css">
 img.wp-smiley,
 img.emoji {
 display: inline !important;
 border: none !important;
 box-shadow: none !important;
 height: 1em !important;
 width: 1em !important;
 margin: 0 .07em !important;
 vertical-align: -0.1em !important;
 background: none !important;
 padding: 0 !important;
 }
 </style>

因为WordPress 更新 4.2 的一个新增功能就是支持 emjo 表情,但看部分加载源居然是 wp.org 的 js 文件。对于大部分人来说,这个是十分鸡肋的功能。

阅读全文

标准
博客

WordPress 教程:限制上传图片的最小宽度和高度

作为一个开放注册的WordPress站点,为了保证文章的质量,你可能需要限制其他用户上传图片的最小宽度和高度。实现的方法也很简单,将下面的代码添加到当前主题的 functions.php 即可:

/**
 * WordPress 限制上传图片的最小宽度和高度
 */
 add_action( 'admin_init', 'block_authors_from_uploading_small_images' );

function block_authors_from_uploading_small_images(){
//除管理员以外,其他用户都限制
if( !current_user_can( 'manage_options') )
add_filter( 'wp_handle_upload_prefilter', 'block_small_images_upload' );
}

function block_small_images_upload( $file ){
// 检测文件的类型是否是图片
$mimes = array( 'image/jpeg', 'image/png', 'image/gif' );
// 如果不是图片,直接返回文件
if( !in_array( $file['type'], $mimes ) )
return $file;

$img = getimagesize( $file['tmp_name'] );
// 设置最小宽度和高度
$minimum = array( 'width' => 640, 'height' => 480 );

if ( $img[0] < $minimum['width'] )
$file['error'] =
'图片太小了,最小宽度是 '
. $minimum['width']
. 'px,当前上传的图片宽度是 '
. $img[0] . 'px';

elseif ( $img[1] < $minimum['height'] )
$file['error'] =
'图片太小了,最小高度是 '
. $minimum['height']
. 'px,当前上传的图片高度是 '
. $img[1] . 'px';

return $file;
}

该代码会对非管理员用户进行限制,如果上传的图片的最小宽度或高度达不到要求,就会限制上传和进行提示。

参考资料:http://wordpress.stackexchange.com/questions/28359/

标准