Tagged: wordpress

WordPress 更换域名

说起来这事也真是自己找的,昨天闲来无事把nginx开启了SSL和SPDY,随之也在数据库内把url替换了,但是当时没有关闭Memcached这个缓存,所以替换后就无效果,随之一通折腾。结果网站文章就各种不显示了!!所以就只好把数据回档到了4月份~

现在就来说说这个wordpress的更换域名吧~

更换域名最直接了当的方式当然莫过于使用PhpmyAdmin了,直接执行Mysql的UPDATE语句也就分分钟的事情,这里就有必要来解释一下这个UPDATE语句了。

Update 语句:
Update 语句用于修改表中的数据。

语法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

当然纯粹使用UPDATE语句只是起到了更换对应列所有值的效果,这里的替换URL只是需要替换这个列里面仅有的一部分值而已,因此还得结合replace来使用,这样我们得到的语句就应该是这样。

UPDATE 表名称 SET 列名称 = replace(列名称, '需要替换的值', '替换后的值');

到此已经基本明确了我们应该怎样操作了~当然开始之前我们还应该了解Wordpress它的各个表说储存的东西是什么~

  1. 表wp_posts里面的post_content (文章内容)
  2. 表wp_options里面的option_value (网址,这个替换就可以达到全站网站替换)
  3. 表wp_posts里面的pinged (ping内容)
  4. 表wp_posts里面的guid (WordPress默认链接结构)
  5. 表wp_comments里面的comment_author_url (留言作者URL地址 )

Read more

Nginx 轻松屏蔽恶意密码猜测

密码猜测
密码猜测

相信很多人用wordpress都有这样的情况,如果你的密码不够强度,被人这样天天猜,迟早要被破。

当然wordpress是不会主动通知你的,我们可以在主题的Function.php文件内加入如下代码来实现这个功能(前提是你的php要配置发信模块)

当然这个功能只是起到了提示作用,最终如何限制访问来源还是需要你自己配置的。

你可以使用nginx的ua判断,或者ip判断等等信息来确认访问者身份后返回正确的信息。

/*****************************************************
函数名称:wp_login_failed_notify v1.0 by DH.huahua.
函数作用:有错误登录wp后台就会email通知博主
******************************************************/
function wp_login_failed_notify(){
		date_default_timezone_set('PRC');
		$admin_email = get_bloginfo ('admin_email');
		$to = $admin_email;
		$subject = '你的博客空间登录错误警告';
		$message = '<p>你好!你的博客空间(' . get_option("blogname") . ')有登录错误!' .
		'<p>请确定是您自己的登录失误,以防别人攻击!登录信息如下:' .
		'<p>登录名:' . $_POST['log'] . '<p>' .
		'<p>登录密码:' . $_POST['pwd'] . '<p>' .
		'<p>登录时间:' . date("Y-m-d H:i:s") . '<p>' .
		'<p>登录IP:' . $_SERVER['REMOTE_ADDR'] . '<p>';
		$wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
		$from = "From: \"" . get_option('blogname') . "\" <$wp_email>";
		$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";
		wp_mail( $to, $subject, $message, $headers );
		}
add_action('wp_login_failed', 'wp_login_failed_notify');
Read more

WordPress 增加Html5标签支持

html5越来越火了,但是老的浏览器对新的html5标签的支持那简直惨不忍睹。今天突然在朋友的电脑上用ie8访问博客发现,里面的视频部分原来无法显示出来,查资料才发现是ie1-9都不支持video标签的缘故。很多都提供了支持的方法,比如javascript创建标签,引用谷歌的支持库。我就选择的引用谷歌的支持库。贴上代码。

// html5支持
add_action('wp_head', 'add_ie_html5_shim');
function add_ie_html5_shim () {
    if(preg_match('/(?i)msie [1-9]/',$_SERVER['HTTP_USER_AGENT'])){
        wp_register_script ('html5shim', 'http://html5shim.googlecode.com/svn/trunk/html5.js', '1.0.1', true );
        wp_enqueue_script ('html5shim');
        }
}

直接将代码应用至<?php内即可。

WordPress 改造之Tag标签云

如果你来过我的博客肯定会看到我的博客以前是什么样子。进来没事折腾,遂把右边的标签云给改造了。看着彩色的感觉是不是很舒服。。

首先在主题目录下创建widgets目录,方便定义我们的东西。

再创建我们标签所使用的文件widgets-tags.php

将如下代码拷贝至widgets-tags.php里面

<?php  
add_action( 'widgets_init', 'Color_tags' );

function Color_tags() {
	register_widget( 'Color_tags' );
}

class Color_tags extends WP_Widget {
	function Color_tags() {
		$widget_ops = array( 'classname' => 'Color_tags', 'description' => '显示热门标签' );
		$control_ops = array('width'=>'300px','height'=>'312px');
		$this->WP_Widget( 'Color_tags', '彩色标签云', $widget_ops, $control_ops );
	}

	function widget( $args, $instance ) {
		extract( $args );

		$title = apply_filters('widget_name', $instance['title']);
		$count = $instance['count'];
		$offset = $instance['offset'];
		$more = $instance['more'];
		$link = $instance['link'];

		$mo='';
		if( $more!='' && $link!='' ) $mo='<a class="btn btn-primary" href="'.$link.'">'.$more.'</a>';

		echo $before_widget;
		echo $before_title.$mo.$title.$after_title; 
		echo '<div class="Color_tags">';
		$tags_list = get_tags('orderby=count&order=DESC&number='.$count.'&offset='.$offset);
		if ($tags_list) { 
			foreach($tags_list as $tag) {
				echo '<a href="'.get_tag_link($tag).'">'. $tag->name .' ('. $tag->count .')</a>'; 
			} 
		}else{
			echo '暂无标签!';
		}
		echo '</div>';
		echo $after_widget;
	}

	function form($instance) {
?>
		<p>
			<label>
				名称:
				<input id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $instance['title']; ?>" class="widefat" />
			</label>
		</p>
		<p>
			<label>
				显示数量:
				<input id="<?php echo $this->get_field_id('count'); ?>" name="<?php echo $this->get_field_name('count'); ?>" type="number" value="<?php echo $instance['count']; ?>" class="widefat" />
			</label>
		</p>
		<p>
			<label>
				去除前几个:
				<input id="<?php echo $this->get_field_id('offset'); ?>" name="<?php echo $this->get_field_name('offset'); ?>" type="number" value="<?php echo $instance['offset']; ?>" class="widefat" />
			</label>
		</p>
		<p>
			<label>
				More 显示文字:
				<input style="width:100%;" id="<?php echo $this->get_field_id('more'); ?>" name="<?php echo $this->get_field_name('more'); ?>" type="text" value="<?php echo $instance['more']; ?>" size="24" />
			</label>
		</p>
		<p>
			<label>
				More 链接:
				<input style="width:100%;" id="<?php echo $this->get_field_id('link'); ?>" name="<?php echo $this->get_field_name('link'); ?>" type="url" value="<?php echo $instance['link']; ?>" size="24" />
			</label>
		</p>
<?php
	}
}

?>
Read more

Shortcode 武装你的wordpress

WordPress 从 2.5 版本开始增加了一个类似 BBCode 标签的 Shortcode API,可以使用它在日志的内容中来给日志内容添加各种功能。Shortcode 这个接口非常容易使用,并且功能非常强大。

简单说 WordPress Shortcode 指的是一些使用[]包含的短代码,WordPress会识别这些短代码并根据短代码的定义输出为特定的内容。

最近觉得wordpress这个博客应该来折腾一下,遂研究了一下这个东西,特意折腾出来了这个东西,当然这只是很简单的一个东西,大家可以参考自己折腾。。

以下下是定义一个下载链接的框,将如下代码添加到主题的function中即可.

add_shortcode( 'download', 'shortcode_download' );
function shortcode_download( $atts, $content = null ) {
 global $post;
 extract( shortcode_atts( array(
 'name' => ' ', // 文件名称
 ), $atts ) );
 return '<a href='.$content.' class="download">' .$name. '</a>';
}

再将如下代码添加至主题的css里面

/* ----------------------------------------------------------------------
 下载框
---------------------------------------------------------------------- */
.download-box {background-color: #004080;padding: 5px;width: 400px;border: 2px solid #CCC; display:block;}
.download-box-text {font-size: 1.2em;line-height: 1.4em;border-bottom-width: 1px;border-bottom-style: dashed;border-bottom-color: #ccc;}
.download-box-link {}

这个功能可以使用我们用download这个代码来创建一个带风格的下载框。

下面是个测试

[download name="test"]http://www.baidu.com[/download]
CSS实在太烂。将就看~

Read more

简单代码让你的wordpress头像转起来

这个主题一直感觉不错,之前因为升级wordpress导致各种报错就没有管它,最近开始折腾起来,错误相继修复,但是总感觉缺少点什么,今天特意为此把头像给增加了个动画,感觉挺不错的。。

代码很简单,一点css而已,但是不支持低版本的IE!

附上代码,需要的客官自己改改吧,直接将代码拷贝至主题的CSS里面即可。

/* ----------------------------------------------------------------------
avatar
---------------------------------------------------------------------- */
/*设置圆形*/
.avatar{
border-radius:60px;
-webkit-border-radius:60px;
-moz-border-radius:60px;
box-shadow: inset 0 -1px 0 #3333sf;
-webkit-box-shadow: inset 0 -1px 0 #3333sf;
transition: transform 0.5s ease-out;
-webkit-transition: 0.5s ease-out;
-moz-transition: -moz-transform 0.5s ease-out;}

/*旋转动画*/
.avatar:hover{
box-shadow: 0 0 10px #fff; rgba(255,255,255,.6), inset 0 0 20px rgba(255,255,255,1);
-webkit-box-shadow: 0 0 10px #fff; rgba(255,255,255,.6), inset 0 0 20px rgba(255,255,255,1);
transform: rotateZ(360deg);
-webkit-transform: rotateZ(360deg);
-moz-transform: rotateZ(360deg);}

Archives