‘开源程序’ 存档

在ECSHOP商品页增加“分享到开心网、人人网”的

(注:以下修改是在ECSHOP官方默认模板基础上进行的),
打开 模板文件 /themes/default/goods.dwt 文件,

找到

<!– {if $affiliate.on} –>
<a href=”user.php?act=affiliate&goodsid={$goods.goods_id}”><img src=’images/bnt_recommend.gif’></a>
<!– {/if} –>
</li>

在它下面增加以下代码即可

<li>
分享到:
<a href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(kaixin=window.open('http://www.kaixin001.com/~repaste/repaste.php?&rurl='+escape(d.location.href)+'&rtitle='+escape(d.title)+'&rcontent='+escape(d.title),'kaixin'));kaixin.focus();">
<img src="/uploads/allimg/c101102/12XDX20UZ-24U0.gif" alt="转贴到开心网" border="0" height="16" width="16"></a>
<a href="javascript:void((function(s,d,e){if(/renren\.com/.test(d.location))return;var f='http://share.renren.com/share/buttonshare?link=',u=d.location,l=d.title,p=[e(u),'&title=',e(l)].join('');function%20a(){if(!window.open([f,p].join(''),'xnshare',['toolbar=0,status=0,resizable=1,width=626,height=436,left=',(s.width-626)/2,',top=',(s.height-436)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else%20a();})(screen,document,encodeURIComponent));" title="分享到人人"><img src="/uploads/allimg/c101102/12XDX2131150-334J.gif" title="分享到人人"/></a>
<a href="javascript:window.open('http://v.t.sina.com.cn/share/share.php?title='+encodeURIComponent(document.title)+'&url='+encodeURIComponent(location.href)+'&source=bookmark','_blank','width=450,height=400');void(0)"><img src='/uploads/allimg/101102/1GIS1L-0.gif' alt='分享到新浪微博' border='0'></a>
<a href="javascript:window.open('http://shuqian.qq.com/post?from=3&title='+encodeURIComponent(document.title)+'&uri='+encodeURIComponent(document.location.href)+'&jumpback=2&noui=1','favit','');void(0)"><img src="/uploads/allimg/c101102/12XDX21D30-4Y58.gif" alt="QQ书签" border="0" ></a>
<a href="javascript:window.open('http://cang.baidu.com/do/add?it='+encodeURIComponent(document.title.substring(0,76))+'&iu='+encodeURIComponent(location.href)+'&fr=ien#nw=1','_blank','scrollbars=no,width=600,height=450,left=75,top=20,status=no,resizable=yes'); void 0" ><IMG alt=添加到百度搜藏 src="http://www.zuimboan.com/images/toshare/ico_soucang.gif"  border=0></a>
<a href="javascript:void(window.open('http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url='+encodeURIComponent(document.location.href)));" title="分享到QQ空间"><img src="/uploads/allimg/c101102/12XDX2244910-61Q2.png" alt="" /></a>
<a href="#" onclick="window.open('http://myweb.cn.yahoo.com/popadd.html?url='+encodeURIComponent(document.location.href)+'&title='+encodeURIComponent(document.title), 'Yahoo','scrollbars=yes,width=780,height=550,left=80,top=80,status=yes,resizable=yes');"><img src="/uploads/allimg/c101102/12XDX3E4V0-MC1.gif" alt="雅虎收藏" border="0" height="16" width="16"></a>
</li>
<a href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(kaixin=window.open('http://www.kaixin001.com/~repaste/repaste.php?&rurl='+escape(d.location.href)+'&rtitle='+escape(d.title)+'&rcontent='+escape(d.title),'kaixin'));kaixin.focus();"><img src="/uploads/allimg/c101102/12XDX20UZ-24U0.gif" alt="转贴到开心网" border="0" height="16" width="16"></a><a href="javascript:void((function(s,d,e){if(/renren\.com/.test(d.location))return;var f='http://share.renren.com/share/buttonshare?link=',u=d.location,l=d.title,p=[e(u),'&title=',e(l)].join('');function%20a(){if(!window.open([f,p].join(''),'xnshare',['toolbar=0,status=0,resizable=1,width=626,height=436,left=',(s.width-626)/2,',top=',(s.height-436)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else%20a();})(screen,document,encodeURIComponent));" title="分享到人人"><img src="/uploads/allimg/c101102/12XDX2131150-334J.gif" title="分享到人人"/></a><a href="javascript:window.open('http://v.t.sina.com.cn/share/share.php?title='+encodeURIComponent(document.title)+'&url='+encodeURIComponent(location.href)+'&source=bookmark','_blank','width=450,height=400');void(0)"><img src='/uploads/allimg/101102/1GIS1L-0.gif' alt='分享到新浪微博' border='0'></a><a href="javascript:window.open('http://shuqian.qq.com/post?from=3&title='+encodeURIComponent(document.title)+'&uri='+encodeURIComponent(document.location.href)+'&jumpback=2&noui=1','favit','');void(0)"><img src="/uploads/allimg/c101102/12XDX21D30-4Y58.gif" alt="QQ书签" border="0" ></a><a href="javascript:window.open('http://cang.baidu.com/do/add?it='+encodeURIComponent(document.title.substring(0,76))+'&iu='+encodeURIComponent(location.href)+'&fr=ien#nw=1','_blank','scrollbars=no,width=600,height=450,left=75,top=20,status=no,resizable=yes'); void 0" ><IMG alt=添加到百度搜藏 src="http://www.zuimboan.com/images/toshare/ico_soucang.gif"  border=0></a><a href="javascript:void(window.open('http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url='+encodeURIComponent(document.location.href)));" title="分享到QQ空间"><img src="/uploads/allimg/c101102/12XDX2244910-61Q2.png" alt="" /></a><a href="#" onclick="window.open('http://myweb.cn.yahoo.com/popadd.html?url='+encodeURIComponent(document.location.href)+'&title='+encodeURIComponent(document.title), 'Yahoo','scrollbars=yes,width=780,height=550,left=80,top=80,status=yes,resizable=yes');"><img src="/uploads/allimg/c101102/12XDX3E4V0-MC1.gif" alt="雅虎收藏" border="0" height="16" width="16"></a></li>


Discuz!7.0 utf-8 帖子标题80字符限制完善解决插件!

完美解决discuz7.0 utf-8版帖子标题只有26个字以上却报告超过80字符警告的问题!

以前曾有人发过类似帖子,但没有做到完美解决,现在发布出来,以解决大家疑难!

以下是修改步骤:

以下修改都是相对论坛根目录的路径,也就是你上传到服务器的路径

include文件夹里面的js文件夹里面的post.js

查找

} else if(mb_strlen(theform.subject.value) > 80) {

复制代码

将80改为255

下面一行的

s = ‘您的标题超过 80 个字符的限制。’;

复制代码

将80 改为85

修改后的样子

} else if(mb_strlen(theform.subject.value) > 255) {

s = ‘您的标题超过 85 个字符的限制。’;

复制代码

—————————————

include文件夹js文件夹里面的viewthread.js

查找

} else if(mb_strlen(theform.subject.value) > 80) {

dalert(‘您的标题超过 80 个字符的限制。’);

复制代码

参照上一个文件,改为下面的样子即可

} else if(mb_strlen(theform.subject.value) > 255) {

dalert(‘您的标题超过 85 个字符的限制。’);

复制代码

——————————-

include文件夹里面的post.func.php

查找

if(strlen($subject) > 80) {

复制代码

将80改为255

成为

if(strlen($subject) > 255) {

复制代码

modcp文件夹里面的editpost.inc.php

查找

if(strlen($subjectnew) > 80) {

复制代码

将80 改为255,也就是

if(strlen($subjectnew) > 255) {

复制代码

templates文件夹下的default文件夹里面的messages.lang.php

查找

‘post_subject_toolong’ => ‘对不起,您的标题超过 80 个字符,请返回修改标题长度。’,

复制代码

将80改为85,也就是

‘post_subject_toolong’ => ‘对不起,您的标题超过 85 个字符,请返回修改标题长度。’,

复制代码

templates文件夹下的default文件夹里面的wap.lang.php

查找

‘post_subject_toolong’ => ‘标题超过80字节’,

复制代码

将80改为85,也就是

‘post_subject_toolong’ => ‘标题超过85字节’,

复制代码

——————————

修改完后,以管理员身份进入论坛后台,找工具,数据库—-“升级”

输入:

ALTER TABLE `cdb_threads` CHANGE `subject` `subject` VARCHAR(255) NOT NULL;

ALTER TABLE `cdb_posts` CHANGE `subject` `subject` VARCHAR(255) NOT NULL;

成功后,再更新一下缓存,即可,然后自己发一个标题字数为85个字的帖子试验一下,就可以了!

注意:

255就已经是最大数字了,不要再大过255,

如果认为,标题不需要85个汉字,可以将其中的80改为你自己想要设定的数字,而以上修改中出现的255,就相应的改为你限定的数字再乘3即可,如

你想要40个汉字,那么,凡是在修改中出现85的地方,改成40,凡是在修改中出现255的地方,改成120,就可以了。

由于修改文件较多,操作不慎,可能会师系统出现异常,请在修改前备份自己的文件,和数据库!

如果没有对以上文件作过其他修改,请下载文件,将upload里面的文件传到您的服务器,然后到后台进行

修改完后,以管理员身份进入论坛后台,找工具,数据库—-“升级”

输入:

ALTER TABLE `cdb_threads` CHANGE `subject` `subject` VARCHAR(255) NOT NULL;

ALTER TABLE `cdb_posts` CHANGE `subject` `subject` VARCHAR(255) NOT NULL;

成功后,再更新一下缓存,即可,然后自己发一个标题字数为85个字的帖子试验一下,就可以了!

转自:http://www.discuz.net/thread-1162568-1-1.html

去掉Discuz!5.0论坛PM短信息和电邮主题中的”[Discuz!]“的方法

修改以下三个文件即可:

/templates/default/emails.lang.php

/templates/default/pms.lang.php

/admin/members.inc.php

参考:http://www.suixi.org

http://www.to62.com

PS:在5.5版本中,不存在这样的问题!

19条WordPress SQL查询语句

进入你主机的phpmyadmin,选择你的WordPress数据,点击SQL选项卡,在文本框中输入SQL查询语句,执行!

高度注意:

在每次执行SQL语句前,请勿必备份你的WordPress数据库。

1. 删除所有未使用的标签

DELETE a,b,c

FROM wp_terms AS a

LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id

LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id

WHERE c.taxonomy = ‘post_tag’ AND c.count = 0

2. 删除所有文章修订版本(Revisions)以及它们的Meta数据

DELETE a,b,c

FROM wp_posts a

LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)

LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)

WHERE a.post_type = ‘revision’

3. 更改WordPress地址和首页地址

UPDATE wp_options

SET option_value = replace(option_value, ‘http://www.旧网址.com’, ‘http://www.新网址.com’)

WHERE option_name = ‘home’ OR option_name = ‘siteurl’

4. 更改文章的GUID

UPDATE wp_posts

SET guid = REPLACE (guid, ‘http://www.旧网址.com’, ‘http://www.新网址.com’)

5. 更改正文中的链接地址

UPDATE wp_posts

SET post_content = REPLACE (post_content, ‘http://www.旧网址.com’, ‘http://www.新网址.com’)

6. 更新文章的Meta值

UPDATE wp_postmeta

SET meta_value = REPLACE (meta_value, ‘http://www.旧网址.com’, ‘http://www.新网址.com’

7. 重设Admin密码

UPDATE wp_users

SET user_pass = MD5( ‘new_password’ )

WHERE user_login = ‘admin’

8. 重设admin的用户名

UPDATE wp_users

SET user_login = ‘newname’

WHERE user_login = ‘admin’

9. 将作者a的文章全部转移到作者b

UPDATE wp_posts

SET post_author = ‘b’

WHERE post_author = ‘a’

10. 删除文章的meta标签

DELETE FROM wp_postmeta

WHERE meta_key = ‘your-meta-key’

11. 导出所有评论中的邮件地址

SELECT DISTINCT comment_author_email

FROM wp_comments

12. 删除所有的Pingback

DELETE FROM wp_comments

WHERE comment_type = ‘pingback’

13. 删除所有的垃圾评论

DELETE FROM wp_comments

WHERE comment_approved = ‘spam’

14. 禁用所有激活的插件

UPDATE wp_options

SET option_value = ”

WHERE option_name = ‘active_plugins’

15. 罗列所有未使用的Meta标签

SELECT *

FROM wp_postmeta pm

LEFT JOIN wp_posts wp ON wp.ID = pm.post_id

WHERE wp.ID IS NULL

16. 关闭旧文章的留言

UPDATE wp_posts

SET comment_status = ‘closed’

WHERE post_date < ’2009-01-01′ AND post_status = ‘publish’

17. 更新留言者的网址

UPDATE wp_comments

SET comment_author_url = REPLACE( comment_author_url, ‘http://旧网址.com’, ‘http://新网址.com’ )

18. 更新正文内所有的’target=”_blank”‘为’rel=”nofollow”‘

UPDATE wp_posts

SET post_content = REPLACE (post_content, ‘target=”_blank’, ‘rel=”nofollow’)

19. 删除所有含链接的留言(勿用)

DELETE FROM wp_comments

WHERE comment_content LIKE “%<a href=%” AND comment_type = ”

WordPress 模板常用函数

WordPress基本模板文件
一套完整的WordPress模板应至少具有如下文件:

style.css : CSS(样式表)文件
index.php : 主页模板
archive.php : Archive/Category模板
404.php : Not Found 错误页模板
comments.php : 留言/回复模板
footer.php : Footer模板
header.php : Header模板
sidebar.php : 侧栏模板
page.php : 内容页(Page)模板
single.php : 内容页(Post)模板
searchform.php : 搜索表单模板
search.php : 搜索结果模板

基本条件判断Tag
is_home() : 是否为主页
is_single() : 是否为内容页(Post)
is_page() : 是否为内容页(Page)
is_category() : 是否为Category/Archive页
is_tag() : 是否为Tag存档页
is_date() : 是否为指定日期存档页
is_year() : 是否为指定年份存档页
is_month() : 是否为指定月份存档页
is_day() : 是否为指定日存档页
is_time() : 是否为指定时间存档页
is_archive() : 是否为存档页
is_search() : 是否为搜索结果页
is_404() : 是否为 “HTTP 404: Not Found” 错误页
is_paged() : 主页/Category/Archive页是否以多页显示

Header部分常用到的PHP函数
<?php bloginfo(’name’); ?> : 博客名称(Title)
<?php bloginfo(’stylesheet_url’); ?> : CSS文件路径
<?php bloginfo(’pingback_url’); ?> : PingBack Url
<?php bloginfo(’template_url’); ?> : 模板文件路径
<?php bloginfo(’version’); ?> : WordPress版本
<?php bloginfo(’atom_url’); ?> : Atom Url
<?php bloginfo(’rss2_url’); ?> : RSS 2.o Url
<?php bloginfo(’url’); ?> : 博客 Url
<?php bloginfo(’html_type’); ?> : 博客网页Html类型
<?php bloginfo(’charset’); ?> : 博客网页编码
<?php bloginfo(’description’); ?> : 博客描述
<?php wp_title(); ?> : 特定内容页(Post/Page)的标题

模板常用的PHP函数及命令
<?php get_header(); ?> : 调用Header模板
<?php get_sidebar(); ?> : 调用Sidebar模板
<?php get_footer(); ?> : 调用Footer模板
<?php the_content(); ?> : 显示内容(Post/Page)
<?php if(have_posts()) : ?> : 检查是否存在Post/Page
<?php while(have_posts()) : the_post(); ?> : 如果存在Post/Page则予以显示
<?php endwhile; ?> : While 结束
<?php endif; ?> : If 结束
<?php the_time(’字符串’) ?> : 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册
<?php comments_popup_link(); ?> : 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开
<?php the_title(); ?> : 内容页(Post/Page)标题
<?php the_permalink() ?> : 内容页(Post/Page) Url
<?php the_category(’, ‘) ?> : 特定内容页(Post/Page)所属Category
<?php the_author(); ?> : 作者
<?php the_ID(); ?> : 特定内容页(Post/Page) ID
<?php edit_post_link(); ?> : 如果用户已登录并具有权限,显示编辑链接
<?php get_links_list(); ?> : 显示Blogroll中的链接
<?php comments_template(); ?> : 调用留言/回复模板
<?php wp_list_pages(); ?> : 显示Page列表
<?php wp_list_categories(); ?> : 显示Categories列表
<?php next_post_link(’ %link ‘); ?> : 下一篇文章链接
<?php previous_post_link(’%link’); ?> : 上一篇文章链接
<?php get_calendar(); ?> : 日历
<?php wp_get_archives() ?> : 显示内容存档
<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接
<?php include(TEMPLATEPATH . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件

与模板相关的其他函数
<?php _e(’Message’); ?> : 输出相应信息
<?php wp_register(); ?> : 显示注册链接
<?php wp_loginout(); ?> : 显示登录/注销链接
<!–next page–> : 将当前内容分页
<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容
<?php timer_stop(1); ?> : 网页加载时间(秒)
<?php echo get_num_queries(); ?> : 网页加载查询量

WordPress 通过@标识回复评论不用插件

通常在对评论进行回复时,多数人喜欢用“@用户名”的方式进行回复,我觉得比多层嵌套的方式要直观简洁

目前通过“@用户名”的方式回复评论的插件有很多。也有人通过 Javascript 来实现,但是实现的过程非常复杂冗余,使简单的东西看起来很难,这里就介绍一种最简洁的方式来实现,同样使用 Javascript

在编写 Javascript 控制代码时,我们都喜欢使它与 html 分离开,使代码看起来相对简洁又便于修改,也就是 Javascript 的非干扰性理念

在编写回复代码时,对实现的过程进行分析,即点击“回复”时,触发事件,使回复文本框内显示如下

<a href=”#comment-1″>@用户名</a>

这个过程中,需要获取4个元素,一个是评论ID的连接地址,一个是用户名,还有评论表单,最后是点击“回复”事件,那么如何获取这几个元素首先就要对这4个元素的 html 标签进行命名,使 Javascript 可以找到他们,编辑comments.php,为他们定义name

评论ID的连接地址

<a href=”#comment-<?php comment_ID() ?>” name=”comm_reply_link”>日期</a>

用户名

<a href=”<?php echo get_comment_author_url() ?>” name=”comm_reply_author”>

<?php comment_author() ?></a>

回复按钮

<a href=”<?php echo get_permalink(); ?>#respond” name=”comm_reply_botn”>回复</a>

评论表单

<form action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php”

method=”post” id=”commentform” name=”comm_frm”>

接下来为他们定义 Javascript 对象

//评论ID的连接地址 数组对象

var comm_reply_link = document.getElementsByName(“comm_reply_link”);

//用户名 数组对象

var comm_reply_author = document.getElementsByName(“comm_reply_author”);

//回复按钮 数组对象

var comm_reply_botn = document.getElementsByName(“comm_reply_botn”);

然后定义“回复”按钮的事件,并将所有连接地址、用户名、回复按钮遍历出来,这里我们使用闭包的方式来处理

for(i=0;i<comm_reply_author.length;i++){

// comm_reply_author.length 即评论总数

(

function(i)

{ //定义回复按钮的 onclick 事件

comm_reply_botn[i].onclick =

function(){

//获取连接地址,取#号后的地址

alink = comm_reply_link[i].href.match(/#(.*)$/)[0];

//获取用户名

comm_author = comm_reply_author[i].innerText;

//填入到回复文本框的代码组合

comm_all = ‘<a href=\”‘+alink+’\”>@’+comm_author+’</a>\n’;

//将获取的链接地址和用户名填入回复文本框

document.comm_frm.comment.value =

document.comm_frm.comment.value+comm_all;

}

}

)(i);

}

最后将 Javascript 代码放到comments.php的最下面,即可以使用了。最终代码不但简洁并且与 html 代码分离,只是为4个 html 标签定义了name

WordPress 几个统计函数

//显示站点文章总数:

$count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;

可以这样echo wp_count_posts()->publish;

//显示站点分类总数:

echo $count_categories = wp_count_terms(’category’);

//显示站点标签总数:

echo $count_tags = wp_count_terms(’post_tag’);

//显示站点评论总数:

$count_comments = get_comment_count(); echo $count_comments['approved'];

WordPress数据库优化技巧

WordPress系统使用时间长了,数据库中的冗余数据就会很多,定期优化和清理Wordpress的数据库,可以保证Wordpress能够快速工作。

首先,停用一些无用的插件,将WordPress系统表之外的数据表都删除,只保留wp_posts, wp_comments, wp_terms, wp_term_relationships, wp_term_taxonomy 等系统数据表。

其次,打开phpMyadmin,通过SQL语句进行冗余数据删除操作。删除前记得先备份一下。

删除脚本是:

DELETE FROM wp_posts WHERE post_type = ‘revision’;

DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_lock’;

DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_last’;

最后,在phpMyAdmin中,选中所有表,点“优化表”。

经过这一番优化操作,就可以将WordPress数据库中的冗余数据删除,优化了数据库的性能。

以上操作,需要用户懂一些SQL语句,不要进行误操作,如果用户SQL比较熟的话,还可以看看这篇文章《八个有用的WordPress的SQL语句》。

————-八个有用的WordPress的SQL语句————-

在过去的十年中,MySQL已经成为广受欢迎的数据库,而WordPress博客使用的是MySQL数据库,虽然使用插件可以解决一些问题,但是 实现某些特殊任务的时候,在phpMyAdmin中执行SQL语句是最简洁的方法,这里就总结八个有用的WordPress系统的SQL语句,用于解决一 些实际碰到的问题。

1、创建备份数据库

备份数据库是首先要做的事情,只需要通过以下方法就可以简单备份数据库:

登录phpMyAdmin后。选择你的WordPress数据库,然后点击“导出”按钮,选择一种压缩方式(可以使用gzip)并单击“执行”按钮,当浏览器提示是否下载的时候,点“是”,将数据库文件下载到本地。

2、批量删除文章修订

WordPress2.6以后的版本增加了一个Post revisions功能,虽然有点用,但文章修订增加了你数据库的大小,我们可以选择批量删除。

登录phpMyAdmin后执行下面的SQL语句即可批量删除。

DELETE FROM wp_posts WHERE post_type = “revision”;

3、批量删除垃圾评论

一个真实的故事是,我的一个朋友在网上建立了一个博客,有次他花了几天时间外出度假,没有上网,当他回来的时候,登录自己的博客,看到有5000多条评论等待审核,当然,大多数都是垃圾评论,要手动删除这些评论要花大量时间,因此我们可以使用以下办法。

登录phpMyAdmin后执行下面的SQL语句。

DELETE from wp_comments WHERE comment_approved = ’0′;

要小心,虽然这种解决方案对于处理数百万的垃圾平邮非常有用,但是也会清除未经批准的评论,因此最好还是安装使用Akismet来对付垃圾评论。

4、修改文章属性

你安装WordPress后,admin账户就创建了,不少人都错误的使用这个帐号来写博客,直到他们认识到,这并不是个人帐号。

解决的方法,每篇文章修改作者属性需要大量的时间,下面的这个SQL语句可以帮你快速完成这个功能。

首先你要找到你正确的用户名,使用下面的SQL语句可以找到你的用户ID号。

SELECT ID, display_name FROM wp_users;

假设这个ID为NEW_AUTHOR_ID,而管理员admin的ID为OLD_AUTHOR_ID,接着,运行下面的SQL语句。

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

5、手动重设密码

很多人为了保护自己的博客不被人黑掉,使用了很复杂的密码,这虽然是一件好事,但也经常会发生遗忘管理员密码的事情。

当然,通过电子邮件可以发送给你WordPress重设密码的链接,但如果你无法访问你的邮件地址,那么就只好使用下面的SQL语句来重设你的密码了。

UPDATE wp_users SET user_pass = MD5(‘PASSWORD’) WHERE wp_users.user_login =’admin’ LIMIT 1;

MD5是MySQL内置的哈希函数,用于将密码转换为散列值。

6、更改WordPress的域名

你可能有时候会想要更改你博客的域名,但是WordPress会将你的域名存储在数据库中,因此你要使用下面的SQL语句来修改。

UPDATE wp_options SET option_value = replace(option_value, ‘http://www.oldsite.com’, ‘http://www.newsite.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

接着,你还要使用下面的SQL将文章的GUID也进行修改。

UPDATE wp_posts SET guid = replace(guid, ‘http://www.oldsite.com’,'http://www.newsite.com’);

最后,使用下面的语句将文章里所有旧域名替换为新域名。

UPDATE wp_posts SET post_content = replace(post_content, ‘http://www.oldsite.com’, ‘http://www.newsite.com’);

7、显示SQL查询数量

在你有话博客性能的时候,了解到查询数据库的数量是非常重要的,为了减少数据库查询,我们需要知道在一个页面上到底有多少个查询。

这一次,不需要登录phpMyAdmin了,你只需要修改footer.php文件,在文件结尾增加下面几行代码即可。

<?php if (is_user_logged_in()) { ?>

<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.

<?php } ?>

8、恢复你的WordPress数据库

当你的数据库因为某些原因(黑客或者升级错误)被损坏或者丢失了,如果你有备份的话,那可以恢复你的WordPress数据库。

登录phpMyAdmin,选择你的WordPress数据库,点“导入”按钮,点“浏览”按钮,然后从你的硬盘选择备份文件,点“执行”按钮就可以将数据库导入。

如果顺利的话,你的WordPress功能将会恢复正常。

原文:http://www.williamlong.info

WordPress 小技巧之2:关闭文章版本管理

对于 WordPress 而言,其中最重要的一个更新就是文章版本管理功能。这个类似于 Wiki 功能的文章版本管理功能,可以随时将你的文章恢复到以前任何一次修改的版本。对于多用户的 WordPress 博客,这个功能尚有些用途;但对于大部分个人博客而言,我们并用不到这个功能。同时,由于使用文章版本管理功能,每一次修改都会占用一个文章ID,也很不舒服。

因此,很多网友升级 WordPress 2.6 之后就想立即关闭这个功能。关闭这个功能的办法很简单,WordPress 给用户和插件开发者预留了一个参数,WP_POST_REVISIONS,可以让你轻松关闭文章版本管理功能。

你可以直接在 wp-config.php 文件中定义 WP_POST_REVISIONS 这个常量,其共有三个参数:

true, –1: 默认值,将存储文章每一次的修订;

false, 0: 不保存任何修订的版本,但自动保存功能依然有效;

>0 的整数: 最多保留的版本数量,超过此数的版本将被删除。

其实,我们可以将 WP_POST_REVISIONS 常量理解为保留版本的次数。如果常量为5,则保留最近5次修改的版本,当你第6次修订文章的时候,那么第1次修订的版本将被删除。如果常量为0,则不保留任何修订的版本。如果常量为-1,则保留每一次修订的版本,这是默认选项。

不用插件在WordPress中实现(最新评论/最热文章/相关文章/最新文章/随机文章)

WordPress用的人越来越多,本站就是用wp搭建的。

在wp中许多功能并没有集成,如果需要某些适用的功能,还需要加装插件之类。不过有的插件装起来麻烦,影响速度。不如直接用代码写。

如下面将要介绍的最新评论,最热文章,相关文章,最新文章,随机文章五个常用功能。

最新评论:

在需要添加最新评论的地方插入如下代码则可:

<?php

global $wpdb;

$sql= “SELECT DISTINCT ID, post_title, post_password, comment_ID,comment_post_ID, comment_author, comment_date_gmt, comment_approved,comment_type,comment_author_url, SUBSTRING(comment_content,1,30) AScom_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHEREcomment_approved = ‘1′ AND comment_type = ” AND post_password = ” ORDERBY comment_date_gmt DESC LIMIT 10″;

$comments = $wpdb->get_results($sql);

$output = $pre_HTML; 

foreach ($comments as $comment) {

$output.= “\n<li>”. “<a href=\”" .get_permalink($comment->ID).”#comment-” . $comment->comment_ID .”\” title=\”on “.$comment->post_title .”\”>”.strip_tags($comment->comment_author).”</a>” .”: “.strip_tags($comment->com_excerpt).”</li>”;

}

$output .= $post_HTML;

echo $output;

?>

最热文章:

在需要添加评论最多的文章列表地方插入如下代码则可:

<ul>

<?php$result = $wpdb->get_results(”SELECT comment_count,ID,post_titleFROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10″);

foreach ($result as $post) {

setup_postdata($post);

$postid = $post->ID;

$title = $post->post_title;

$commentcount = $post->comment_count;

if ($commentcount != 0) { ?>

<li><a href=”<?php echo get_permalink($postid); ?>” title=”<?php echo $title ?>”>

<?php echo $title ?></a> (<?php echo $commentcount ?>)</li>

<?php } } ?>

</ul>

相关文章:

是的,就是连相关文章列表我们也不需要插件支持,下面的代码会根据文章中的tag标签自动判断何篇文章与当前相关,而且相关性也很强!

<ul>

<?php

$tags = wp_get_post_tags($post->ID);

if ($tags) {

$first_tag = $tags[0]->term_id;

$args=array(

‘tag__in’ => array($first_tag),

‘post__not_in’ => array($post->ID),

’showposts’=>10,

‘caller_get_posts’=>1

);

$my_query = new WP_Query($args);

if( $my_query->have_posts() ) {

while ($my_query->have_posts()) : $my_query->the_post(); ?>

<li><ahref=”<?php the_permalink() ?>” rel=”bookmark” title=”PermanentLink to <?php the_title_attribute(); ?>”><?php the_title();?> <?php comments_number(’ ‘,’(1)’,'(%)’); ?></a></li>

<?php

endwhile;

}

}

?>

</ul>

最新文章:

调用代码如下:

<?php

$limit = get_option(’posts_per_page’);

$paged = (get_query_var(’paged’)) ? get_query_var(’paged’) : 1;

query_posts(’showposts=’ . $limit=7 . ‘&paged=’ . $paged);

$wp_query->is_archive = true; $wp_query->is_home = false;

?>

<?php while(have_posts()) : the_post(); if(!($first_post == $post->ID)) : ?>

<ul>

<li><ahref=”<?php the_permalink() ?>” rel=”bookmark” title=”PermanentLink to <?php the_title_attribute(); ?>”><?php the_title();?></a></li>

</ul>

<?php endif; endwhile; ?>

随机文章:

<?php

query_posts(array(’orderby’ => ‘rand’, ’showposts’ => 1));

if (have_posts()) :

while (have_posts()) : the_post();

the_title();

the_excerpt();

endwhile;

endif;

?>
Twitter Delicious Facebook Digg Stumbleupon Favorites 更多
如非标明[原创]的内容均来自互联网,如有侵权请来信告知以便删除。