Wordpress技术
记录分享Wordpress技巧和使用经验,提供免费的技术支持和分享!
对于多用户投稿的WordPress站点,免不了要对用户提交的文章进行审核,但是每次都要点击进入文章列表查看是否有文章待审,是不是很麻烦?其实,我们可以在WordPress仪表盘直接显示待审的文章列表,登录以后一眼就可以看到了。
要做到这个,只需要将下面的代码添加到当前主题的 functions.php 文件即可:
/**
* WordPress 仪表盘显示待审核的文章列表
*/
add_action('wp_dashboard_setup', 'wpjam_modify_dashboard_widgets' );
function wpjam_modify_dashboard_widgets() {
…
阅读全文 >>
对于一周更新数篇文章的站长来说,更友好的显示时间很有必要。通常我们会在微博上看到发布于1分钟前、1个小时前等字样,这样的显示对用户来说很贴心,传递给用户的感觉是这个站点一直活跃着,所以WordPress站点也应该有这样的实用技巧。
首先在主题的 functions.php 文件中加入以下代码:
function timeago( $ptime ) {
$ptime = strtotime($ptime);
$etime = time() - $ptime;
if ($etime < 1) return '刚刚';
$interval = array (
12…
阅读全文 >>
升级到 WordPress 3.8 之后,WordPress 后台的仪表盘只能两栏了,那么怎么恢复成原来的一栏呢?在当前主题的 functions.php 文件中添加如下代码:
add_filter('screen_layout_columns', 'uctheme_screen_layout_columns');
function uctheme_screen_layout_columns($columns) {
$columns['dashboard'] = 2;
return $columns;
}
add_filter('get_user_option_screen_layout_dashboard', 'uctheme_screen_layout_dashboard');
function uctheme_screen_layout_dashboard() {
…
阅读全文 >>
不少站长对wordpress情有独钟,因为wordpress堪称开源代码中的经典,笔者认为它是最好的个人网站程序。它为什么会令到全球的fans为之着迷?你用下就知道了。
如何安装wordpress?如果你第一次接触wordpress,希望在自己的空间安装该程序,请你看下这个wordpress安装教程方法说明,希望可以帮助你事半功倍。
1、到wordpress中文官方网站:http://cn.wordpress.org/,下载最新版的程序文件。下载的是一个压缩文件,如果你的空间支持解压缩,可以直接用ftp上传然后解压,这样会节约一些…
阅读全文 >>
当我们购买了域名,准备给自己建立一个网站的时候,就需要一套建站程序,如果是个人网站,我建议大家使用WordPress。因为对于一般的个人网站来说,我们的时间经历资金都是非常有限,网络上有很多免费的建站程序,但如果您选择了WordPress,是绝对不会后悔的。原因是:
1、绝对的开源免费;
2、搜索引擎喜欢WordPress,网站在推广过程中省心;
3、功能非常强大,博客,企业网站,商城都可以用Wordpress完美解决;
4、网站模版相当丰富,并且操作简单;
5、网络上关于Wordpress的教程非…
阅读全文 >>
难道我们还在乎ie8,7,6?我个人觉得越来越要忽略了。但ie8还是有一些人支持在使用的。
有三个脚本可以帮助你支持他们,他们补充了现代的一些东西,例如响应式设计,css3伪类和属性选择器以及html5的标签。为这些提供了更好的兼容性。
在浏览器小于IE9的情况下,我们可以在我们的主题加载下面这些js.
html5shiv.js (source) – HTML5 支持
selectivizr.js (source) – css伪类支持 (eg :last-child)
respond.js (source) – 媒体查询支持
那我们应该如何加载这些js呢?我们需要加载这个…
阅读全文 >>
在做WordPress主题改版过程中,优化标题的时候发现标题中间总是带着两个小空格,WordPress各样都做得不错,唯独这做的不好,原来是wp_title()这个函数在输出的时候就会加上空格,google之后找到解决办法。
只需将
wp_title(‘_’, true, ‘right’);
替换成
echo trim(wp_title(”,0));
即可。
这里分享下代码:
<title> <?php echo trim(wp_title('',0));if (!is_home()) echo "_";echo get_option('blogname');if (is_home ()) echo "_",get_option('blogdescription')…
阅读全文 >>
如题,自从用了VPS就出现这个问题,访问的时候用域名/wp-admin 存为书签就好了,不过这是取巧的方法,并不能解决真正的问题,小编在这里就介绍两种方法解决这个问题。
1.编辑WordPress在Nginx的配置文件的重写规则
使用lnmp一般在/usr/local/nginx/conf目录下,找到wordpress.conf ,vi编辑
在最后添加以下代码:
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
qw保存,重启lnmp
命令:
/root/lnmp restart
再访问后台就不会出现404错误了。
2.修改WordPress源文件
打开并编…
阅读全文 >>
据我了解,完全了解WordPress的配置文件wp-config.php技巧的站长还真没多少,至少小编认识的站长中完全了解wp-config.php文件技巧的还真没几个,大多数站长都只知道知道functions.php文件的妙用。好了接下来小V就来说说一些关于wp-config.php文件的技巧:
1、wordpress的定修版本功能大家一定不陌生,这是一项很实用的功能但是对于数据库来说这是一种负担,那么我们可以通过wp-config.php来定义保存次数或者关闭掉自动定修版本功能:
define(‘WP_POST_REVISIONS’, 3); //定义自动定…
阅读全文 >>
我们知道 WordPress 后台 > 设置 > 讨论,可以让我们输入“评论审核”和“评论黑名单”关键字,这些关键字在用户留言的时候将用于非法关键字的检测。那么我们是否可以将这些关键字用于其他方面呢?比如用户注册的时候,用户名不能包含这些非法关键字。答案肯定是可以:
首先创建非法关键字检测函数:
function uctheme_blacklist_check($str){
$moderation_keys = trim(get_option('moderation_keys'));
$blacklist_keys = trim(get_option('blacklist_keys'));
…
阅读全文 >>
可能大家经常会遇到,文章中的内容图片过大,超出了文章页面的宽度。轻则导致图片超出范围,如果没有设置框架宽度的话,还会导致版式严重错误。
当然,可以使用overflow-x: hidden; 加宽度的方法,让超出范围的图片被隐藏,以保证页面的正常,但是这样的话用户就看不到被切去的那部分图片了。
所以这时可以用JS的方式来解决。
分享一串jQuery代码解决这个问题。
代码如下:
window.onload = function(){
$(‘.text_type’).find(‘img’).each(function(){
var picWidth = parseInt($…
阅读全文 >>
默认情况下,wordpress的评论内容中仅仅接受<a>, <strong>等等少数几个html标签。如果你想要让评论内容支持更多的html标签,看下面我的方案!
把下面的代码粘贴到当前主题的functions.php文件中即可。在代码中的第四行代码中你可以自由地添加或修改,让评论内容支持更多的html标签!
function allow_pres() {
global $allowedtags;
//可以在下面的代码中修改或添加更多的标签
$allowedtags['pre'] = array('class'=>array());
}
add_action('comment_pos…
阅读全文 >>
WordPress 3.6 后,貌似在 functions.php 加设置代码禁止文章修订的方法:
//////// 移除自动保存和修订版本
remove_action('pre_post_update', 'wp_save_post_revision' );
add_action( 'wp_print_scripts', 'disable_autosave' );
function disable_autosave() {
wp_deregister_script('autosave');
}
又失效了……囧
在 wp-config.php 里面 define 的方法还是 OK 的:
define('AUTOSAVE_INTERVAL', 36000000 ); //设置自动保存间隔,单位是秒,默认60
define('WP_POST_…
阅读全文 >>
最近有个朋友在学WordPress时,期间问了我一个问题,当在文章页面添加上一篇和下一篇文章时,怎么没有title属性?我仔细一看还真没有,以前倒没注意到这个问题,于是在百度上搜索了一番,发现挺多人都有这方面的需求,但没有一个满意的答案,网上介绍的一种解决方法是修改Wordpress程序文件来实现,但我个人非常不喜欢。一则是程序的文件你最好别动,除非你想成为Wordpress的程序开发人员;二则是当你下次更新程序的时候,又得重新修改,太麻烦了,不适合我这种懒人。
好吧,仔细研究…
阅读全文 >>
众所周知,wordpress的登录页面只能使用用户名登录,除非安装了多说评论那样的社会化插件,才能让wordpress增加社会化登录功能。不过除了社会化登录,用户最习惯的应该是使用email邮箱登录吧。通常人们会很容易忘记自己注册网站时的用户名,但注册时用的邮箱却忘不掉,你会不会有同感呢?这样的话,我们不妨给wordpress增加一个使用email登录的功能。
这项功能不仅方便于容易忘事的wordpress站长,最重要的是能够大大提升会员制wordpress网站的用户体验。如果想让用户用Email也可以登…
阅读全文 >>
最近做几个项目,在添加文章的时候,WordPress支持添加媒体,包括图片、视频、Word和Excel等等各种多媒体文件。如果你想知道WordPress支持上传的所有文件类型,可以在当前主题的functions.php中插入以下php代码,然后打开博客首页,查看网页源代码,即可看到一个完整的支持列表:
print_r(wp_get_mime_types());
我们今天要讲的是如何让wordpress只支持上传图片文件,其他文件一概拒绝上传。其实实现方法很简单,我们在当前主题的functions.php中插入以下php代码即可:
// Add …
阅读全文 >>
首先我们先了解一下,什么是alt信息。
alt是用来对网页上的图片进行描述,光标在图片上时显示的提示语即采用该标签实现。
从SEO和用户体验来看,ALT-代替属性都是必要的,其重要性主要有: 网页内容相关性是关键词优化的前提,搜索引擎认为,网页上的图片应该与网页主题相关。反过来讲,当搜索引擎要判断网页的关键词时,图片的ALT-代替属性是一个可信任的参考点。所以, 别忘了在图片的ALT-代替属性。
可见,alt可以提供搜索引擎您的图片的信息,方便搜索引擎抓取。可以达到SEO的效…
阅读全文 >>
wordpress是一款强大的博客程序,具有广泛的使用人群,本文以本博客为例,详细为你介绍wordpress建站基本功能SEO。
本博客采用最新发布的程序wordpress 3.6,主题采用程序自带主题twenty twelve。这个主题非常简单干净,本人比较喜欢。
1、301确定首选域
本博客首选域是http://www.uctheme.com/。需要把uctheme.com 301到www.uctheme.com上面,这个我是在虚拟主机控制面板中设置的
2、增加导航菜单、添加测试文章
在wordpress后台增加菜单、添加文章,都需要显示正常。
3、URL…
阅读全文 >>
优酷官方给出了api,所以很容易得到想要的缩略图。(原视频地址:http://v.youku.com/v_show/id_XMjIwNDg2NjU2.html)
地址栏输入以下:http://v.youku.com/player/getPlayList/VideoIDS/XMjIwNDg2NjU2/timezone/+08/version/5/source/out?password=&ran=2513&n=3 就可以的看到输出的json内容。
因此重点在于得到: VideoIDS/后面的这串字符 XMjIwNDg2NjU2
// 这段正则是来获取优酷的id,出处在 /wp-content/languages/zh_CN.php,同样56网、土豆都可以找到
preg_match("#https?://v\.…
阅读全文 >>
最近有人问我怎么实现煎蛋的评论直接发图,第一时间想到正则替换,貌似又不太靠谱,最后还是改写到数据库了。
1. add_filter('preprocess_comment')
评论提交之后,通过此api来加以处理,比如判断spam。
2. 正则判断是否是图片:"/(http:\/\/|https:\/\/){1}.+?\.(jpg|gif|bmp|bnp|png)$/is",感谢@MeeSii修正。
3. 普通用户没有发图片(< img src="" />)的权限,如果设置成所有文章评论都可以发图,似乎又不太好,于是加以处理
global $allowedtags;
$allowedtags['img'] = arra…
阅读全文 >>
wordpress开发的项目越多,接触到的深层的东西就越多,比如各种post type 和coustom taxonomy 的定义,过滤,查询等等。
这次帮北京一个客户使用wordpress开发一个企业应用,非常类似erp, 使用wordpress做erp我还是第一次,而且还有很多很奇怪的需求。
比如这次,在供应商管理里,我把供应商做成了一个自定义内容类型。 自定义类型中还有自定义分类, 客户要对自定义分类还要显示一个过滤器,比如默认的按月分类。
找了很久,终于找到下面的代码可以解决,利用到了wordpress的一个ac…
阅读全文 >>
如果标题所说,其实这样的功能实在非常的简单,在根据当前内容的id就可以使用get_post等等函数返回这个内容的对象,对象中就有一个post_type的方法。
但是在老外的博客看到了,我想还是翻译一下,代码如下:
function is_custom_post_type() {
global $wp_query;
$post_types = get_post_types(array('public' => true,'_builtin' => false),'names','and');
foreach ($post_types as $post_type ) {
if (get_post_type($post_type->ID) == get_p…
阅读全文 >>
在网站设计中,配色是一个十分关键又十分头疼的问题,很多情况下,我们会参照目标网站或者著名网站的色彩风格来选择配色,Web Colour Data这款工具就是为此而生,它可以让你快速找出当前网页所用的颜色。如下图,就是使用 Web Colour Data 分析出的我爱水煮鱼所用的颜色:
之所以称为神器,是因为 Web Colour Data 十分简单易用,同时功能十分强大。我们只需要将目标网址填写进去,稍等一下就可以看到目标网站的配色方案以及在色盘上的位置等等。
同时这个网站作为一个网站色彩数据库…
阅读全文 >>
有些时候我们会用到WordPress的用户注册功能,但是限于WordPress的用户系统功能比较单调,除了登录和注册,我们可能不会让用户直接使用WordPress的后台,而是在前台编写个用户系统,或者使用WP User Frontend等插件自动在前台生成一个用户系统。
WordPress后台 – 设置 – 常规中,我们可以设置注册用户的默认角色:
如果你不想让默认角色的用户进入WordPress后台乱逛,你可以在当前主题的functions.php中加入以下代码,然后使用默认角色的用户帐号登录,看是什么情况,是不是直接跳转…
阅读全文 >>
谷歌一下进度条,99%的内容都是这么说的,在页面头部写一个进度条移动到10%,然后在页面中部使进度条移动到50%,然后在页面尾部使进度条移动到100%,这么做看起来很完美很符合常理,但这么做有个弊端,因为图片的加载是异步加载的,有时候图片什么的没有加载完毕,进度条就已经100%了。所以判断进度条到100%就必须在页面所有元素全部载入之后才可以。
下面是我写的方法,只需要添加一处js就可以了,并且是在页面全部加载完毕之后才跳到100%的。许多朋友要我写进度条,不是我不想写,…
阅读全文 >>
如果你的 WordPress 和我一样使用了自定义日志类型(Custom Post Type),并且想把这个自定义日志类型的文章显示到 Feed 中,那么你需要在 functions.php 中加入下的代码:
add_filter('pre_get_posts', 'add_microblog_2_feed' );
function add_microblog_2_feed( $query ) {
if ( is_feed()){
$query->set('post_type', array( 'post', 'm'));
}
return $query;
}
其中这里的 m 是 Custom Post Type 的名称(添加时根据自身的名称进行替换),如果你想吧 page 更…
阅读全文 >>
WordPress提供了一个非常简单方便的函数来显示当前文章的标题,那就是:the_title()。这个函数经常被开发者在 header,post,page,loop,footer 里使用,这几乎是开发主题里最常用的函数之一,然而许多开发者并没有意识到这里有个地方并不应该使用此函数,那就是在 attributes 里,如:
title="<?php the_title(); ?>" 改写成 title="<?php the_title_attribute(); ?>"
为什么要这样写,大家看看 WordPress 源文件中的相关函数核心文件便知了: the_title() 源代码:
/**…
阅读全文 >>
我们使用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($…
阅读全文 >>
WP Super Cache 是我推荐的最佳 WordPress 缓存插件,它把整个页面直接生成 HTML 文件,这样 Apache 就不用解析 PHP 脚本,通过使用这个插件,能使得你的 WordPress 博客将显著的提速。
但是如果 WordPress 的首页显示的不是最新日志,而是一个页面,并且这个页面包含实时更新的部分,那么就会存在一个问题,那么这个页面就不会实时更新。
这里我提供一个技巧,可以让你在使用 WP Super Cache 的这个静态缓存插件提速的同时,也能够让首页实时更新,WP Super Cache 是通过 wp_cache_p…
阅读全文 >>
一般来说 SEO 可以简单分为页面优化和链接建设,链接建设其实比较麻烦的,除了提供免费的服务和产品,结交朋友之外,可能还有白帽,黑帽和灰帽的手法,相对比较难,不过页面优化就比较简单,我今天就讲讲我是如何对 WordPress 进行页面优化。
对于 WordPress 博客来说最重要的是两个页面,一个是首页,一个是日志页面,所以优化 WordPress 页面,主要就是优化这两个页面,今天讲第一点,优化标题(Title)。
Title 在搜索引擎结果中占据非常重要位置,我们写日志的时候,标题就应该把…
阅读全文 >>