标签 wordpress 下的文章

WordPress 常用代码、方法

Description:

WordPress模板基本文件

style.css 样式表文件
index.php 主页文件
single.php 日志单页文件
page.php 页面文件
archvie.php 分类和日期存档页文件
searchform.php 搜索表单文件
search.php 搜索页面文件
comments.php 留言区域文件(包括留言列表和留言框)
404.php 404错误页面
header.php 网页头部文件
sidebar.php 网页侧边栏文件
footer.php 网页底部文件

WordPress Header头部 PHP代码

注: 也就是位于<head>和</head>之间的PHP代码

<?php bloginfo(’name’); ?> 网站标题
<?php wp_title(); ?> 日志或页面标题
<?php bloginfo(’stylesheet_url’); ?> WordPress主题样式表文件style.css的相对地址
<?php bloginfo(’pingback_url’); ?> WordPress博客的Pingback地址
<?php bloginfo(’template_url’); ?> WordPress主题文件的相对地址
<?php bloginfo(’version’); ?> 博客的Wordpress版本
<?php bloginfo(’atom_url’); ?> WordPress博客的Atom地址
<?php bloginfo(’rss2_url’); ?> WordPress博客的RSS2地址
<?php bloginfo(’url’); ?> WordPress博客的绝对地址
<?php bloginfo(’name’); ?> WordPress博客的名称
<?php bloginfo(’html_type’); ?> 网站的HTML版本
<?php bloginfo(’charset’); ?> 网站的字符编码格式

启用Configure SMTP,弃用WP-Mail-SMTP

让我纠结了2天,终于把给评论者回复邮件的功能搞定了。原来是WP-Mail-SMTP的bug,造成了无法给评论者发送邮件。 1、Comment Reply Notification(水煮鱼的插件) 2、Comment Mail Notify(willin大师的非插件方法) 3、Wordpress Thread Comment 4、mail to commmenter 5、CommentMailer (好像也就这几个邮件回复的插件了)全不管用……到了最后才明白过来,不是这些插件不管用,也不是主题原因,而是WP-Mail-SMTP有问题。果真转换到Configure SMTP时,一切正常了……真是相当的悲剧。除了不能邮件通知评论者外,WP-Mail-SMTP还是工作正 ...

总结wp-postviews不计数的解决方法

第一种,启用Cache导致不计数
例,启用WP Super Cache
解决方法:
1、在后台禁用WP Super Cache插件
2、删除/wp-content/plugins/目录的wp-super-cache目录
3、删除wp-content目录下面的cache目录。
4、检查根目录下的wp-config.php,如果有define(’WP_CACHE’, true); 则把这一行删掉

PS:本博就是用为曾经装过W3 Total Cache插件,卸载不完全,导致出错。如下:
/** Enable W3 Total Cache **/
define(‘WP_CACHE’, true); // Added by W3 Total Cache

第二种,静态化导致的不计数

当WordPress安装了cos-html-cache后,按照默认的设置,插件wp-postviews是无法工作的。经过一定修改,可以使wordpress在静态化下实现计数。
在wp-postviews.php中,找到
if(defined(‘WP_CACHE’) && WP_CACHE)
将其替换为
if ((defined(‘WP_CACHE’) && WP_CACHE)||(defined(‘COSMETA’ ) && COSMETA))
通常情况下就可以实现计数了,如果不行可以留言给我:)

第三种,其他复杂的情况,比如jquery框架载入的问题

启用jQuery Lightbox,弃用Lightbox 2

刚开始用Lightbox 2还是不错的,很简洁。但后来发现很多插件要用到jQuery的时候,就想着Lightbox 2能否不加载自己的库,而转用jQuery。目的就是简化博客,使加载的速度更快,更高效。最终选用的是jQuery Lightbox。当然还有其他的,但目前我找到的只有 1. Lightbox 2 2. Lightbox Plus 3. jQuery Lightbox 4. jQuery Lightbox Plus 这四种实现Lightbox显示的插件,大家也可以自己尝试。 使用Lightbox 2时,本博加载的js库 <script type=’text/javascript’ src=’http://moper.me/wp-includes/js/prototype.js?ver ...

hataccess的写法

绑定域名到子目录 Apache

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$
RewriteCond %{REQUEST_URI} !^/blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /blog/$1
# 没有输入文件名的默认到到首页
RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$
RewriteRule ^(/)?$ blog/index.php [L]

下面我开始解说一下上面的意思:

解决WordPress后台空白或打不开的问题

1. 先检查下文件是不是有缺失. 2.检查目录权限问题,这个虚拟主机一般不会有问题.如果有的话,用ftp登录将文件夹属性修改成755即可. 3.检查wp-config.php的编码是否有问题,默认wordpress编码是UTF-8,如果采取记事本编辑可能会变成ANSI.在环境关闭报错的情况也会空白. 修改方法:利用Editplus或dreamweaver等编辑器修改下编码格式. 4.如果还是有问题,将wp-content下的plugins 改为plugin. 这样改的目的是:可能其中的插件在转移空间后出错.改名后就相当于让所有插件处于非激活状态. 如果可以进入后台,恭喜你,接下来将plugins目录还原排除 ...

wordpress在iis中文tag无法显示问题

今天偶然点了一下自己的tag,居然发现中文的无法显示,额,so,找资料解决问题。 产生这个问题的主要原因是地址编码,及UTF-8和GBK之间转换的问题。 IIS对URL截取的时候取得的是GBK编码,但是WordPress都用的是UTF-8编码,所以我们要对编码进行处理后再交给数据库进行查询 以下是网上找的,已验证可用 一、转换编码解决WordPress中文Tag链接问题(推荐) 打开文件:wp-includes\classes.php 查找: $pathinfo=$_SERVER[‘PATH_INFO’];修改为: $pathinfo=mb_convert_encoding($_SERVER[‘PATH_INFO’],”UTF- ...

伪静态引起robots出错

写的好好的robots怎么就是用谷歌的网站管理员工具读不出来,一直读的都是那个什么虚拟robots,原来……是伪静态惹的祸。
由于用的是ISAPI_REWRITE+httpd.ini在httpd.ini中添加RewriteRule /robots.txt /robots.txt [L]就可以了。
谷歌网站管理员工具地址http://www.google.cn/webmasters/

在论坛上问有关虚拟robots的事儿,好像懂的人不多。只说了个地址在wp-includes -> functions.php -> do_robots()
也看不太明白,这个有什么改的呢,怎么改呢。不过也没什么好研究的了,直接自己写robots就完了,注意伪静态问题哦:)

完美解决wordpress在wimp下的伪静态问题

折腾了好长时间,终于完美解决了,但是觉得速度很慢,不知道是空间问题还是在wimp环境下。有机会还是换linux主机的好。

本站采用的wimp(windows+iis+mysql+php)环境,wordpress固定连接为/%postname%.html

httpd.ini文件如下

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through

lightbox2与jquery冲突

终于解决问题了,真是失败。原来只用改动一点就可以了。
先来说说问题吧。lightbox-2启用后,加载页面进度条失效。原因是lightbox调用的js库与JQuery冲突,可能描述不太准确。
后来想用非jquery的加载进度条方法绕开加载google的jquery库,可是失败了。另外还发现wp-recentcomments这个插件是要用jquery库的,不然计数就停止了。
解决方法:将原来使用的$方法名一律替换为jQuery名,如$(“obj”)替换为jQuery(“obj”)。即把插入的用于控制进度条进度的代码前的$,全部换为jQuery。
当然,网上还有好多种方法,记录一下好了