显示标签为“网站建设”的博文。显示所有博文
显示标签为“网站建设”的博文。显示所有博文

2010年9月2日星期四

自定义Wordpress的Description和Keywords以及Title

很多插件可以定义Wordpress页面的Description和Keywords以及Title,但我一直认为插件都比较消耗资源,不是万不得已,都会寻找手动方法来替代。Wordpress本身不会对这三个关键字添加内容,但有些朋友会说自己没有安装这类插件,而页面源代码中却已经填写了,这是因为有些WordPress主题已经帮你自动处理了。这里介绍的方法也是通过修改主题文件来达到自定义的目的。具体是修改WordPress主题中的header.php文件,也就是在原来的meta标签上面添加如下内容:

<?php
##定义一个函数.解决截取中文乱码的问题###
if (!function_exists('utf8Substr')) {
function utf8Substr($str, $from, $len)
{
return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
'$1',$str);
}
}
if ( is_home() ){
$description = "关注软件开发、网站建设、免费资源、网络电话、通讯技术";
$keywords = "源代码,网络电话,通讯技术,VOIP,eyebeam,nonoh,free,gmail,firefox,免费空间,免费域名,SIP,Gizmo5,pfingo,域名,外链,攀索,pansuo";
}
elseif ( is_single() ){
if ($post->post_excerpt) {
$description  = $post->post_excerpt;
} else {
if(preg_match('/<p>(.*)<\/p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
$post_content = $result['1'];
} else {
$post_content_r = explode("\n",trim(strip_tags($post->post_content)));
$post_content = $post_content_r['0'];
}
$description = utf8Substr($post_content,0,220);
}

$keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
$keywords = $keywords . $tag->name . ",";
}
}
###这里是分类页面。自行改变is_category的slug别名或者ID###
elseif ( is_category('free') ){
$description = "为大家介绍实用的免费主机,免费空间,免费网络硬盘,免费代理,免费电话,免费相册,免费域名,免费邮箱,免费流量统计资源";
$keywords = "免费,免费主机,免费空间,免费网盘,免费代理,免费电话,免费相册,免费域名,免费邮箱,免费流量统计,攀索,pansuo";
}
elseif ( is_category('develop') ){
$description = "关于源代码,编程语言,开发实例,学习教程";
$keywords = "C,C++,VC,源代码,编程,编码,程序,源程序";
}
elseif ( is_category('website') ){
$description = "域名注册、空间申请、网站程序、推广策划、SEO";
$keywords = "网站运营,建站经验,搜索优化,网站推广,网页设计";
}
elseif ( is_category('voip') ){
$description = "攀索之路,pansuo,网络电话,免费电话,免费打电话,免费发短信";
$keywords = "网络电话,免费电话,免费打电话,免费发短信,VOIP,SIP,nonoh,betamax,eyebeam,x-lite,pfingo,freecall,sms,callback";
}
elseif ( is_category('earn') ){
$description = "分享网络赚钱的方法,从零开始学起。";
$keywords = "网络赚钱方法,博客怎么赚钱,网络赚钱项目";
}
elseif ( is_category('software') ){
$description = "分享实用软件,软件使用方法";
$keywords = "网络软件,系统工具,聊天软件,图形图像,多媒体,FTP";
}
elseif ( is_category('telecom') ){
$description = "移动通信,GSM,WCDMA,LTE,2G,3G,网络优化,通信工程";
$keywords = "移动通信,通信工程师,通信人才,GSM,WCDMA,LTE,2G,3G,网络优化,通信工程";
}
###这里是Page页。同上。多个页面的话自行添加就是###
elseif ( is_page('about') ){
$description = "关于攀索之路博客的介绍,联系方式,以及网站历程。攀索之路(www.pansuo.com)";
$keywords = "通讯技术,网络电话,免费资源,网络赚钱,软件开发";
}

?>
<?php echo "\n"; ?>
<meta name="description" content="<?php echo trim($description); ?>" />
<meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />

将原来的Title标签内容改为如下代码:
<?php if ( is_home() ) { ?><title><?php bloginfo('name'); ?> | <?php bloginfo('description'); ?></title><?php } ?>
<?php if ( is_search() ) { ?><title>搜索结果 | <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_single() ) { ?><title><?php echo trim(wp_title('',0)); ?> | <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_page() ) { ?><title><?php echo trim(wp_title('',0)); ?> | <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_category() ) { ?><title><?php single_cat_title(); ?> | <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_month() ) { ?><title><?php the_time('F'); ?> | <?php bloginfo('name'); ?></title><?php } ?>
<?php if (function_exists('is_tag')) { if ( is_tag() ) { ?><title><?php  single_tag_title("", true); ?> | <?php bloginfo('name'); ?></title><?php } ?> <?php } ?>

2010年9月1日星期三

用电子邮件Gmail邮箱发表WordPress日志

向Wordpress发表博客文章,不再需要登录博客,只需要想设定的email发邮件,WordPress就会自动将邮件内容作为博客文章更新。

下面以常用的GMail为例,一步一步来实现这个功能:

1. 注册一个GMail账号,专门用来发表WordPress博客日志

2. 更改WordPress设置以便访问上述GMail账号

3. 对WordPress进行设置,使之能够通过GMail发表内容

通过GMail发表日志


第一步——新注册一个GMail账号


这个没什么好说的了,大家到www.gmail.com去申请新的Gmail账号就ok了,
强烈建议使用相对隐秘的电子邮件地址——也就是说,这个电子邮件地址需要是常人难以猜到、只有本人知道的地 址。任何投递到这个电子邮件地址的信件将会被发表在博客上,所以我们必须要保证这个地址绝对的私密。此外,有些电子邮件服务器不允许邮件账号完全由数字组 成或以数字开头。因此注册前请先了解虚拟服务器的相关规定。注册GMail时可以点那个检测用户名按钮,看是否可以用。

第二步——更改WordPress设置以访问上述Gmail账号


新邮件账号注册完毕后,返回WordPress后台的“撰写”选项,填写虚拟服主机商提供给用户的邮件服务器地址端口号。(如果不确定具体的邮件服务器地址和端口号,可以在虚拟主机商网站的FAQ版块或用户手册版块中查找。端口号通常为110。)

由于GMail启用了安全连接,所以我们在填写邮件服务器时要以 ssl:// 开头,具体设置如下:

邮件服务器地址:ssl://pop.gmail.com

端口号:995

用户名:*********@gmail.com

密码: *******

默认邮件分类:未分类

然后点击“保存更改”。

注意:如果在注册邮件账号前已经通过“管理界面>设置>撰写>通过电子邮件发表”设置了电子邮件地址,那么注册时的登录名和密码需要和之前的设置保持一致。因为Wordpress要使用这个账号登录GMail去取邮件内容。

第三步——发表邮件日志


现在我们已经注册了新的邮箱账号,也在后台进行了设置,让WordPress博客能够接收新邮箱账号中的邮件。但我们仍然需要再次设置WordPress,让它能够自动发表接收到的邮件。我们可以进行以下任一操作:

手动浏览器激活方式

将邮件发送到新邮箱账号后,立即访问http://example.com/installdir/wp-mail.php。(注意:每次发送日志邮件后都要访问该URL。如果你的博客安装在网站根目录,就把中间的/installdir删除。)

自动浏览器激活方式

如果不想手动激活浏览器,可以在博客页脚位置加上以下iframe代码,自动激活浏览器使之帮助发表日志:

<iframe src="http://yourblogdomain/installdir/wp-mail.php" name="mailiframe" width="0"

height="0" frameborder="0" scrolling="no" title=""></iframe>

编辑以上代码,使链接地址指向我们的wp-mail.php文件的位置。然后将代码添加到当前主题目录下的footer.php文件中(不要将代码包含在HTML段落中,如果你的博客安装在网站根目录,就把中间的/installdir删除。)。

可能还要刷新博客才能查看到新日志。对新用户来说,自动激活浏览器好处更多。

利用插件方式激活就不推荐了,那样占资源还影响浏览速度。

邮件格式


通过邮件发表日志时,WordPress会将邮件的主题行作为日志标题,邮件正文作为日志正文,并删除其中常用的HTML标签。WordPress将日志发表在我们之前选择的默认邮件发表分类下,并默认网站管理员作为该日志的作者。

并且邮件内容一定要使用“普通文本”形式。在Gmail中,“转换为普通文本形式”图标在文本格式工具栏的最右端。

通过邮件发表日志时,不支持附件的发表。所有通过邮件发表的附件都会以原始形式显示在日志正文中。

测试


要测试目前自己是否已经能通过邮箱发送WordPress日志,只需要发送一封邮件到“新账号@邮箱域名” (如果使用.qmail程序,则可以将邮件发送到“用户名@邮箱域名”)。之后进行以下操作:

  • 如果没有设置自动系统,在浏览器中访问http://example.com/installdir/wp-mail.php。如果脚本发现有新邮件,会通知我们并显示出邮件日志的详细情况。之后我们可以返回博客查看日志是否发表成功。

  • 如果页脚使用的是iframe代码,需要刷新浏览器以查看日志是否发表成功

  • 我们的邮件发表状态可能被会标识为“审核中”而不是“已发表”。如果日志状态是“审核中”,那么该日志可以出现在控制板中,但不会显示在博客上。 默认情况下,wp-mail.php会检查发送日志的邮件地址与博客用户设置的邮件地址是否一致。如果一致,日志状态显示为“已发表”,否则显示为“审核 中”。


通过Yahoo! 邮箱、Gmail和Hotmail发表日志


默认情况下大多数基于网络的邮箱客户端都以HTML形式发送邮件,而WordPress“通过邮箱发表日志”这一功能并不支持HTML发送。

因此用这种邮箱发表日志前,一定要使用“普通文本”形式。

在Yahoo!邮箱中,“转换为普通文本形式”图标在“订阅”字样的右边。而Gmail中,“转换为普通文本形式”图标在文本格式工具栏的最右端。Hotmail的“转换为普通文本形式”图标则在邮件操作栏(位于邮件正文上方)的拼写检查图标附近。

2010年7月9日星期五

WordPress显示随机日志源代码

在WordPress模板中找到文章模板文件single.php,在需要显示的位置加入以下代码:

<?php $rand_post=get_posts('numberposts=1&orderby=rand'); foreach($rand_post as $post) : ?>

<a href="<?php the_permalink(); ?>">随机</a><?php endforeach; ?>


这段代码使用WordPress 默认函数 get_posts 中的 orderby=rand 属性来随机选取文章链接。

如果需要调用多篇文章并以列表形式展示,则代码如下:

<?php $rand_post = get_posts('numberposts=10&orderby=rand');
foreach( $rand_post as $post ) : ?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>


这段代码随机选择 10 篇文章,列表样式可以根据需要自定义。

比如加上表头:
<h3>随机日志</h3>

<ul>

......(上面的随机代码)

</ul>

2010年7月8日星期四

Wordpress非插件显示相关日志源代码

方法一:单篇日志和 feed 中都可以生成相关日志


  把以下代码复制到 Wordpress 的主题文件 functions.php 中:

function wp_get_related_posts()
{
global $wpdb, $post,$table_prefix;
$limit = 10; //显示几条相关文章
if(!$post->ID){return;}
$now = current_time('mysql', 1);
$tags = wp_get_post_tags($post->ID);
$taglist = "'" . $tags[0]->term_id. "'";
$tagcount = count($tags);
if ($tagcount > 1) {
    for ($i = 1; $i < $tagcount; $i++) {
        $taglist = $taglist . ", '" . $tags[$i]->term_id . "'";
    }
}
    $limitclause = "LIMIT $limit";
$q = "SELECT p.ID, p.post_title, p.post_date,  p.comment_count, count(t_r.object_id) as cnt FROM $wpdb->term_taxonomy t_t, $wpdb->term_relationships t_r, $wpdb->posts p WHERE t_t.taxonomy ='post_tag' AND t_t.term_taxonomy_id = t_r.term_taxonomy_id AND t_r.object_id  = p.ID AND (t_t.term_id IN ($taglist)) AND p.ID != $post->ID AND p.post_status = 'publish' AND p.post_date_gmt < '$now' GROUP BY t_r.object_id ORDER BY cnt DESC, p.post_date_gmt DESC $limitclause;";
$related_posts = $wpdb->get_results($q);
$output = "";
if (!$related_posts)
{
    $output  .= '<li>无相关日志</li>';
}
foreach ($related_posts as $related_post )
{
    $dateformat = get_option('date_format');
    $output .= '<li>';
    $output .=  '<a href="'.get_permalink($related_post->ID).'" title="'.wptexturize($related_post->post_title).' ('.mysql2date($dateformat, $related_post->post_date).')">'.wptexturize($related_post->post_title).'</a> ('. $related_post->comment_count .')';
    $output .=  '</li>';
}
$output = '<h3> 相关日志</h3><ul>' . $output . '</ul>';
return $output;
}
function wp_related_posts_attach($content)
{
      if (is_single()||is_feed())
      {
      $output = wp_get_related_posts();
      $content = $content . $output;
       }
return $content;
}
add_filter('the_content', 'wp_related_posts_attach',100);

方法二:仅在单篇日志中显示相关日志


  在 Wordpress 主题文件 single.php 中需要的位置插入以下代码即可:

<h3>相关日志</h3>
<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><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title();?> <?php comments_number(' ','(1)','(%)'); ?></a></li>
<?php
endwhile;
}
}
wp_reset_query();
?>
</ul>

2010年7月7日星期三

Godaddy空间换系统(windows/Linux)和 换IP

Godaddy空间换系统(windows/Linux)和 换IP


一、前言


换系统:是指从windows主机空间切换到Linux主机空间,或者反之。

换IP:通过更换IP得到一个新的Godaddy空间IP

二、更换前准备


尽管切换系统和换IP过程中,Godaddy都会保留原有数据,但以防万一,建议操作前备份好文件和数据库。

如果是从windows切换到Linux,请删除MS数据库,再切换,否则以后就不能从Linux还原到windows。

三、更换过程


对于windows主机空间,可以通过切换系统到Linux达到换IP的目的。

对于Linux主机空间,除了可以切换系统到Linux达到换IP的目的,还可以添加和删除JAVA来换IP(适合Deluxe或以上的 Linux主机),

以下分别说明:

1、更换系统


登录后,点hosting,看到自己的主机列表,点主机名称弹出主机的信息,

在Overview选项,点Edit Account Details选项,

选择Plan的下拉框,如果原Plan是Economy Hosting - Windows (Free with Domain),

则选择
Economy Hosting - Linux (Free with Domain),后面的费用都是+$0.00/mo。

选择后,弹出一个确认框,点Save Changes。

到这里,转换请求就已经完成了,点close关闭此窗口

接下来就是等待其生效了,最长72小时,一般几个小时就可以了。

2、添加语言


   a. 进入管理页面。点选Hosting,选中指定域名的主机,点击Manager Account 进控制面板,找到Content内容区块,里边有一个项目是Add On Languages,点击进入

   b.选添加JAVA,等24小时就行;

可以添加或删除JAVA多次,甚至无限次。

2010年7月6日星期二

Godaddy主机:windows和Linux如何选择

Godaddy主机:windows和Linux如何选择?


一、windows 免费空间基本信息


Important Details:

Operating System: Windows

Bandwidth Allotment: 300,000 MB

Diskspace Allotment: 10,000 MB

# of MySQL Databases: 10 Available

# of SQL Server Databases: 1 Available

Domain Associated with this Free Hosting Account:

******.COM (Cannot be changed)

User Name:

******

Domain:

******.com

Web Server Version:

IIS 7.0 ASP.NET Version:

ASP.NET 2.0/3.0/3.5

PHP Version:

PHP 5.x

二、Linux免费空间基本信息


Product: Economy Hosting - Linux (Free with Domain)

Domain: ******.com

Login: ******

Server IP: ***.***.***.***

Plan: Economy Hosting - Linux (Free with Domain)

Disk Space Usage: 0.00 MB of 10000.00 MB (0.00%)

Bandwidth Usage: 0.00 MB of 300000.00 MB (0.00%)

Status: Setup

Billing Status: Expiring Soon

Next Billing Date: 8/11/2010

Auto Renew: On

Renewal Cycle: 1 Month

三、如何选择


1、从建站程序考虑


如果是ASP或者.Net,就只有选择windows主机,

但如果是PHP+MySQL,建议首选Linux,尽管windows IIS7.0也支持PHP。

2、从运行效率、安全性、兼容性考虑


仍然还是推荐Linux主机,一个明显的例子就是文件或文件夹的权限属性问题,

如果是windows主机,不能通过FTP客户端修改文件权限属性,要网站登录后台用File Manager工具修改,但往往不能立即生效。

而Linux主机可以用FTP工具随意修改,立即生效。

3、使用Linux主机的客户群多,有什么问题,很快就能找到答案。