文章关键字 ‘WordPress’

IIS下配置WordPress永久链接支持中文完美版

2010年08月26日,星期四
热度:

今天打开网络蛀虫小窝的地址发现tag的中文固定链接显示404页面,所有的中文Tag页面均是跳转到我的主题404页面,

终于找到一个解决的办法,让更多在Windows主机下挣扎的同胞们玩好WordPress(本文适用于WordPress3.01,其他版本未经测试)。

1、如:WordPress在WIN主机IIS下设置固定链接实现真正的伪静态方法(原创)

2、打开wp-includes/classes.php文件,找到153行如下代码:

if ( isset($_SERVER['PATH_INFO']) )

$pathinfo = $_SERVER['PATH_INFO'];

else

$pathinfo = ”;

$pathinfo_array = explode(‘?’, $pathinfo);

$pathinfo = str_replace(“%”, “%25″, $pathinfo_array[0]);

$req_uri = $_SERVER['REQUEST_URI'];

修改为:

if ( isset($_SERVER['PATH_INFO']) )

$pathinfo = iconv(‘GBK’, ‘UTF-8′, $_SERVER['PATH_INFO']);

else

$pathinfo = ”;

$pathinfo_array = explode(‘?’, $pathinfo);

$pathinfo = str_replace(“%”, “%25″, $pathinfo_array[0]);

$req_uri = iconv(‘GBK’, ‘UTF-8′, $_SERVER['REQUEST_URI']);

通过这两步修改,IIS下的WordPress永久链接去掉Index.php的效果已经相当很好了。

相关日志

彩色的WordPress标签云

2010年08月26日,星期四
热度:

复制以下代码,添加到wordpress主题文件夹下的functions.php文件最下方就可以,注意:与原内容间不要有空行,否则会导致订阅 在IE下不能打开。

//制作五彩缤纷的标签云

function colorCloud($text) {

$text = preg_replace_callback(‘|<a (.+?)>|i’, ‘colorCloudCallback’, $text);

return $text;

}

function colorCloudCallback($matches) {

$text = $matches[1];

$color = dechex(rand(0,16777215));

$pattern = ‘/style=(\’|\”)(.*)(\’|\”)/i’;

$text = preg_replace($pattern, “style=\”color:#{$color};$2;\”", $text);

return “<a $text>”;

}

add_filter(‘wp_tag_cloud’, ‘colorCloud’, 1);

然后生成页面的缓存之后就可以实现彩色效果

改变wordpress的wp_list_categories()返回样式

2010年08月16日,星期一
热度:

wordpress 的wp_list_categories()样式选择

用wp_list_categories()来调用分类的时候,我们没有办法在这里选择元素所使用的独立的css样式,那怎么办呢?举例如下:

<?php echo preg_replace('@<li([^>]*)><a([^>]*)>(.*?)</a>@i', '<li$1><a$2><span>$3</span></a>', wp_list_categories('echo=0&orderby=name&exlude=181&title_li=&depth=1')); ?>

这里使用了preg_replace函数,在wp_list_categories用echo=0得到结果,交给preg_replace处理,而不是直 接显示出来。

这时我们就可以设置自己的css样式了!

给我的WordPress的访客,显示一个“欢迎回来”的信息

2010年08月16日,星期一
热度:

给我的WordPress的访客,显示一个“欢迎回来”的信息:

<?php
if(isset($_COOKIE['comment_author_'.COOKIEHASH])) {
$lastCommenter = $_COOKIE['comment_author_'.COOKIEHASH];
echo "Welcome Back ". $lastCommenter ."!";
} else {
echo "Welcome, Guest!";
}
?>

WordPress自动读取文章中的第一个图片

2010年08月16日,星期一
热度:

让WordPress自动读取文章中的第一个图片,

打开主题中functions.php文件,

添加以下的php代码:

function get_first_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Defines a default image
$first_img = "/images/default.jpg";
}
return $first_img;
}

调用该函数

<?php echo get_first_image() ?>

创建 WordPress 分页导航——纯代码

2010年08月16日,星期一
热度:

纯代码给WordPress添加分页导航

具体效果请参照本站,现在分享下:

添加下面代码至 functions.php:

function mcooo_pagenavi($pages_to_show = 5) {

global $request, $posts_per_page, $wpdb, $paged;

$half_pages_to_show = round($pages_to_show/2);

if (!is_single()):

if(!is_category()) preg_match(‘#FROM\s(.*)\sORDER BY#siU’, $request, $matches); else preg_match(‘#FROM\s(.*)\sGROUP BY#siU’, $request, $matches);

$fromwhere = $matches[1];

$numposts = $wpdb->get_var($wpdb->prepare(“SELECT COUNT(DISTINCT ID) FROM $fromwhere”));

$max_page = ceil($numposts/$posts_per_page);

if(empty($paged)) $paged = 1;

if($max_page > 1):

if ($paged >= ($pages_to_show-1))

echo ‘<a href=”‘.get_pagenum_link().’”>’.__(“First page”,”mcooo”).’</a> … ‘;

for($i = $paged – $half_pages_to_show; $i <= $paged + $half_pages_to_show; $i++) {

if ($i >= 1 && $i <= $max_page)

if($i == $paged) echo ‘<span>’.$i.’</span>’; else echo ‘ <a href=”‘.get_pagenum_link($i).’”>’.$i.’</a> ‘;

}

if (($paged+$half_pages_to_show) < ($max_page)):

echo ‘… <a href=”‘.get_pagenum_link($max_page).’”>’;

printf(__(“Last page (%s)”,”mcooo”),$max_page);

echo ‘</a>’;

endif;

endif;

endif;

}

添加美化代码:

p#subNav {padding: 8px 3px; margin:20px 40px; text-align: left; color: #ff6500; font: 12px/16px Tahoma, Arial, sans-serif}

p#subNav a, p#subNav a:link{border: 1px solid #ccc; margin-right: 3px; padding: 3px 5px; color: #888; background: #f9f9f9}

p#subNav a:hover{border: 1px solid #bbb;background: #fdfdfd; color: #777}

p#subNav a:active{border: 1px solid #111;background: #666; color: #f8f8f8}

p#subNav span.current{margin-right: 3px; padding: 3px 5px; border: 1px solid #aaa; font-weight: 700; background-color:#eee; color: #999}

p#subNav span.extend{margin-right: 3px; padding: 3px 5px; border: 1px solid #eee; color: #ddd}

ul#subNav {height: 18px; border: 1px solid #eee; background: #fafcf9; margin: 0 40px}

添加调用代码至主题:index.php、archive.php、category.php、search.php

<p id=”subNav”>

<?php mcooo_pagenavi(5); ?>

</p>

onbno.com的第一个WordPress的中文主题(原创)

2010年08月16日,星期一
热度:

onbno.com制作的第一个WordPress的中文主题,本主题采用淡绿色风为主,由默认主题修改而来,由大气的样式,首页自动显示WordPress的文章摘要,并显示文章中的第一张图片,加入了文章阅读次数插件等。

onbno制作的第一款WordPress主题

根据默认主题修改的绿色宽屏WordPress主题,

有需要的朋友请留言!索要!

为apache下的WordPress添加固定链接(原创)

2010年08月5日,星期四
热度:

为WordPress添加固定链接(原创)

最近google对自己的blog收录文章变少了!!

到网上查了些seo的知识!

发现固定链接能提高他们的收录情况!!

自己就设置了一下!

发现非常简单!只需登陆后台到->设置->固定链接->常规设置->选中

  1. 默认
  2. 日期和文章名
  3. 月份和文章名
  4. 数字

这几个选项!
我选的是第4个

然后开启主机服务器apache的mod_rewrite功能重新启动主机

在访问网站ok!

WORDPRESS常用函数(原创)

2010年08月5日,星期四
热度:

WordPress基本模板文件
一套完整的WordPress模板应至少具有如下文件:
404 页面模版 (404.php)
存档模板页 (archives.php)
链接模板页 (links.php)
主题支持函数 (functions.php)
图像附件模版 (image.php)
头部 (header.php)
底部 (footer.php)
弹出式评论 (comments-popup.php)
搜索框 (searchform.php)
搜索结果 (search.php)
文章索引模板 (archive.php)
文章页面模板 (single.php)
索引页模版 (index.php)
评论 (comments.php)
边栏模板 (sidebar.php)
页面模版 (page.php)
RTL样式表 (rtl.css)
样式表 (style.css)
注意事项:
rtl.css样式表文件是专门为那些习惯文字和排版顺序自右向左的人准备的,使用这个rtl.css样式表文件文件后你就会发现前台WordPress页面的文字和排版顺序自右向左的了,原本在浏览器右边的滚动条也变成在左边的了
当然,具体到特定的某款模板,可能不止这些文件,但一般而言,这些文件是每套模板所必备的。
基本条件判断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关闭插件更新提醒(转)

2010年08月4日,星期三
热度:

为了提升页面开启速度,每调用一个插件,都自己修改了一遍,这种情况下如果跟着原插件作者进行版本升级,自己的那些改动就全费了。

然而不升级,每次登陆后台,都有“插件更新”的提示。

跟我一样,不喜欢看插件更新提示的,可以按照如下方法,关闭wordpress更新提醒功能:

1.打开wp-admin/wp-admin.css

2.搜索update-plugins标签,将display:block更改为display:none

如果比我还懒,连版本升级都懒得做,可以添加如下代码,把wordpress版本升级的提示也屏蔽掉

<?php

add_action( ‘init’, create_function( ‘$a’, “remove_action( ‘init’, ‘wp_version_check’ );” ), 2 );

add_filter( ‘pre_option_update_core’, create_function( ‘$a’, “return null;” ) );

?>

http://uicss.cn/category/wp/page/2/