我的配置环境:
服务器架设在家里的电脑上,固定局域网IP:192.168.1.100, 使用电信网络,有公网IP,但80端口不能用,有自己的域名:www.xxx.cn
使用花生壳动态域名更新IP到自己的域名。nginx配置虚拟主机局域网外端口23456,局域网内端口80,主页目录一样。
WordPress放在网站根目录下的wordpress文件夹。设定界面,siteurl和home都设置的http://www.xxx.cn:23456/wordpress
外网访问没问题,内网访问http://www.xxx.cn:23456/wordpress,无法打开,访问192.168.1.100/wordpress也不可以。
按照网上的方法,修改数据库里的siteurl和home为/wordpress, 局域网外访问不正常(有的页面能打开,如管理员界面,但主页打不开)。
标签: wordpress
-
WordPress局域网内外同时访问解决办法
-
关闭评论
一直以来用服务器开WordPress,并没有太多设置。2008年注册后直接开通博客坚持到现在,11年了。
现在只是希望能保持可以访问到,购买了特价的vps发现评论却是一大问题,之前大量的垃圾评论被akismet拦截并没有太在意,现在发现还蛮占用资源的。
综合考虑决定21天之前文章的关闭评论。以此希望能够保持可访问。
-
解决升级 WordPress 时提示”另一更新正在进行”
这是由于在升级Wordpress时,Wordpress会在数据库wp_options表中增加core_updater.lock记录。如中途打断Wordpress升级,这个记录会留在数据库中。当下次升级时,Wordpress检测到此记录的存在就会返回”另一更新正在进行”。可通过以下方法解决:
方法一、通过MySQL数据库管理工具(比如 phpMyAdmin),在 wp_options表中找到 core_updater.lock记录并将这一列数据删除。
方法二、通过终端登录数据库,假设表前缀是wp_,数据库是wordpress,
mysql -u root -p use wordpress; select * from wp_options where option_name=’core_updater.lock’;
deletefrom wp_options where option_name=’core_updater.lock’;
-
彻底解决wordpress安装主题或插件需要FTP问题
很多小伙伴在使用Wordpress的时候,都会出现安装主题或插件需要FTP的情况,有些朋友填入以后,结果还是无法下载和安装。其实主要是烦,每次安装个插件都需要数据ftp的账号和密码;其实这个问题解决起来要注意几个问题:
一、使用WinSCP连接阿里云服务器,进入wp-content目录,新建tmp文件夹,设置文件夹的权限为777,命令chmod -R 777 tmp
二、在WinSCP中返回网站根目录,找到wp-config.php这个PHP文件,下载到本地,或者直接在Winscp上编辑
三、在wp-config.php中添加下列三行代码:
【使用记事本编辑器,推荐使用:Notepad++,sublime等】
define(‘WP_TEMP_DIR’, ABSPATH.’wp-content/tmp’);/* WordPress的临时目录。*/
define(“FS_METHOD”, “direct”);
define(“FS_CHMOD_DIR”, 0777);
define(“FS_CHMOD_FILE”, 0777);
注意:要在定义ABSPATH的后面,即在它的后面添加
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
================================
最后的代码应该是:
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
define(‘WP_TEMP_DIR’, ABSPATH.’wp-content/tmp’);
define(“FS_METHOD”, “direct”);
define(“FS_CHMOD_DIR”, 0777);
define(“FS_CHMOD_FILE”, 0777);
-
wordpress(网页)实现分享到微信朋友圈
function WeiXinShareBtn() {
if (typeof WeixinJSBridge == “undefined”) {
alert(“自定义文字,提示给访客的 “);
} else {
WeixinJSBridge.invoke('shareTimeline', {
“title”: “<?php echo trim(wp_title(”,0)); ?>”, //获取文章标题
“link”: “<?php $current_url = home_url(add_query_arg(array())); ?> “, //获取文章地址
“desc”: ” <?php $key=”description”; echo get_post_meta($post->ID, $key, true); ?> “,//获取文章再要摘要
“img_url”: “<?php echo catch_that_image() ?>” //获取文章第一张图片
});
}
}需要把下面的代码放在functions.php中
//获取第一张图片
function catch_that_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 = “http://www.aips.me/wp-content/uploads/2013/05/weixin.jpg”;
}
return $first_img;
} -
wordpress主题开发
本文介绍如何开发设计你自己的 WordPress 主题。如果你希望了解更多如何安装和应用主题的内容,请参阅应用主题文档。本文的内容不同于应用主题,因为所讨论的是编写代码去构建你自己的主题的技术内容,而非怎样去激活主题或者是哪里可以获得新主题。
为什么要使用 WordPress 主题
WordPress 主题由一系列文件和 CSS 样式表构成,构成了一个美丽的 WordPress 网站。每个主题都是不同的, 这样WordPress用户就可以随时更改 WordPress 网站的外观。你也许想为自己开发 WordPress 主题,或者制作公开发行的的主题。但是除了这个为什么要自己制作主题呢? (更多…)
-
让WordPress通过HTML5校验
很久没折腾wordpress了,之前自己弄了个模版,然后希望是支持html5的,写完了发现wordpress本身会多出一些属性,还是让我无法通过html5校验。不过想想wordpress会注意到的吧,于是就没有修改主题。
不过最近偶然点击了下校验依然还是无法通过,于是百度下吧,果然有人弄出解决办法了,果然把代码丢尽模版里面,html验证通过。
<?php
foreach(array(
‘rsd_link’,//rel=”EditURI”
‘index_rel_link’,//rel=”index”
‘start_post_rel_link’,//rel=”start”
‘wlwmanifest_link’//rel=”wlwmanifest”
) as $xx)
remove_action(‘wp_head’,$xx);//X掉以上
//rel=”category”或rel=”category tag”, 这个最巨量
function the_category_filter($thelist){
return preg_replace(‘/rel=”.*?”/’,’rel=”tag”‘,$thelist);
}
add_filter(‘the_category’,’the_category_filter’);
?>以上代码放入functions.php
-
5种方法让你的 WordPress 博客获取更多订阅量
但如果你有很多的订阅读者,但是却没有一个在你的文章上评论,那么这也是不算数的。所以我将和你们分享5个可以提高真实订阅读者数量,并且提高读者响应积极性的方法。
一、获取邮箱就好了
如果你需要更多的订阅者,只需要让他们留下邮箱就可以了,别的信息都不需要去询问。给大家一个例子吧,copyblogger.com 请求用户订阅的时候只索取email 地址。没有姓名,没有电话号码,住址等等个人信息。
以前的话用姓名作为邮件的标题的确是一个好的邮件营销策略,但是现在基本上都会被当作是垃圾邮件了。普通人哪里会在邮件标题就写上你的名字的,只有垃圾邮件会这样做。所以询问姓名等信息是没有必要的,只输入一个邮箱,确认下就完成订阅,那不是很愉快的事情吗?
二、告诉他们为什么订阅你的博客
很多订阅邀请都是告诉读者注册或者是订阅,很少有告诉原因的。读者订阅了你的博客,博客更新了,他们能获取到什么消息呢?那些注册用户能得到什么实际的利益呢?这些都是需要在邀请的时候说清楚的。看看以下三个邀请,哪个更应该呈现给你的读者。
“订阅以获取我们博客的更新”
“订阅以获取我们的每周精选”
“订阅以免费获取 WordPress 难题的解决方法”
应该都会选择第三个吧,实际上,读者们并不会关心我们可能花了10个小时弄出来的精选。他们只关心他们的问题有没得到解决。所以当你告诉读者为什么订阅你的博客的时候,告诉一些对他们有实际意义的东西吧。
三、使用社会认同
社会认同是一个很好的方法来驱除用户在订阅时的“恐惧障碍”。记得在大学的时候,朋友叫我去做一件事的时候总会说一句:“现在每个人都在这样做呢”
实际上这很有用。如果你已经有了100,500或者是1000个读者,当你邀请新读者订阅的时候可以告诉他们。
例如:
“订阅以加入500人明智读者群,一起通过本博客来解决 WordPress 难题。”
我不仅告诉新用户本博客已经有500个订阅,还告诉现在订阅将是一个明智的选择,如果他们现在订阅的话,也将是明智的举动。
四、订阅的位置很关键
有市场调查表明,页面的右上角是放置订阅邀请的最佳位置。我还发现这个位置还能够在某种程度上使用户去浏览一下你的文章。你是否有这样的体验,文章看到一半,突然来一句:需要查看完整信息,请注册.. 其实没有必要,你只需要在右上角放上订阅邀请就好了。你需要做的就是去写一些高质量的文章给你的读者们。
五、不要光写叙述类的文章,要会互动
这个的确是比较难掌控。但是现在很多热门的 WordPress 社区之所以会热门,不是因为他们的质量,而是因为他们开始讨论的话题。
如何写一篇可以引起话题的文章呢?这其实也没有什么神奇法则,但是我发现有以下三个因素是很容易使用户主动留言参与互动的。
话题的流行度:越是热门的流行话题,越多人来回复。
与生活的结合:与我们的生活经验关联越紧密的话题也是很所以引起讨论的。
具有争议性: 有争议性的东西总能够引起关注,不管是积极的还是消极的,讨论总是会很有趣。
下次在你发文章的时候不妨也想想这个三个因素,在接下来的10篇文章里都试试看,看看是否能吸引来更多的读者。
-
wordpress 插件 Pretty Link Lite
这是一个十分友好的为您网站创建短链接的插件,可以将外部的链接映射到这些短链接,并且可以跟踪链接的每一次点击,而且提供详细的报告,包括来访者ip、来访者使用的浏览器、操作系统等。同时它还是一个可以很好地管理您的赚钱链接的工具,此外,您还可以使用它创建的链接在论坛、其他门户网站、博客中推广您的网站。
使用方法:
首先,您需要设置您博客固定链接的格式,只要不是默认选项就行了。
wordpress站内链接跳转到外部链接1
然后,创建一个pretty link,如下图,一般您只需要填写你的目标链接(就是你点击后跳转到的链接)、内部链接(自动生成,可修改)、标题、描述就可,有一些高级选项,你可以保留默认。
wordpress站内链接跳转到外部链接2
其中有两个比较重要的选项在这里说一下,
第一个是Redirection Type,有两个值,分别是301和307
301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做链接跳转。
302 redirect:302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
在使用上,307和302基本上是一样的。
第二个是SEO options的Nofollow属性,该属性始创于谷歌,现在已经为各大搜索引擎所接受。原本是用来控制博客上的垃圾评论,现在rel=”nofollow”实际上是告诉引擎“不要对这个链接排名”,而不是“不要访问这个链接”。
-
让wordpress通过HTML5验证
<?php foreach(array( ‘rsd_link’,//rel=”EditURI” ‘index_rel_link’,//rel=”index” ‘start_post_rel_link’,//rel=”start” ‘wlwmanifest_link’//rel=”wlwmanifest” ) as $xx) remove_action(‘wp_head’,$xx);//X掉以上 function the_category_filter($thelist){//rel=”category”或rel=”category tag”, 这个最巨量 return preg_replace(‘/rel=”.*?”/’,’rel=”tag”‘,$thelist); } add_filter(‘the_category’,’the_category_filter’); ?>
将以上代码加到functions.php里面去,Wordpress就不会生成烦人无用的rel属性了
-
亦歌wordpress插件1g1g
使用WordPress搭建的博客,安装此插件后,可以在文章或页面中分享作者喜爱的歌曲。
该插件提供搜索功能,作者输入关键字,即可搜索出希望分享的歌曲。分享后页面中自动出现亦歌迷你播放器,播放分享的歌曲。
在管理平台的“插件”->“添加新插件”中,搜索“1g music share”,即可找到此插件,轻松安装。
安装WordPress分享插件
-
wordpress彻底清除pingbacks
当其他博客在文章中有提到你的博客或者某一篇文章的链接时,这是你的博客就会收到一个Pingbacks,主要是提到相互通知的作用,但是这个功能越来越鸡肋了,越来越多的广告通过这种形式进行传播,今天就来一个彻底关闭这个功能的方法。
需要用到数据库,直接在数据库中修改,但在修改之前,还是先把数据库给备份一下。
1,通过phpMyAdmin登陆数据库。
2,点击 Sql按钮:
3,在新弹出的窗口中输入下面这条命令:
UPDATE `wp_posts` SET ping_status=”closed”;
4,完毕,从此之后再也不会看到pingbacks的任何信息了。 -
阻止WordPress对站内文章的pingback
Pingback 是网志中常用的用来通知网志系统文章被引用情况的一种手段。3G 博客网将其翻译为“广播”,是指计算机系统向外部发出引用信息,但也有人认为会与日常生活中的广播混淆。当其他人连结至 Web 作者的网页时,Web 作者获取通知的方法。这个方法使得 Web 作者可以追踪什么人连结至他的文章。有一些网志软件,如 WordPress,具有当一篇文章出版的时候,自动 pingback 这篇文章中所有的连结的功能。
以上对 Pingback 的解释来自于维基百科。对于 WordPress 而言,简单来说,pingback 就是当别人转载/引用你的文章链接时,会自动在你的文章底部加一条来源的链接(当然,前提是你的 WordPress 主题支持这一功能)。这个功能相当实用,因为大多数情况下,这些引用的链接都是和原文相关,或者有扩展的内容,读者可以寻着链接阅读到更多感兴趣的信息。
同样的道理是,如果在一篇文章中引用了自己站内之前写过的另一篇文章的链接,那么,这个之前的这篇文章就会收到自己站内发给自己一个 pingback。但是我认为一般说来,站内链接用相关日志功能就可以做到内链建设,pingback 对于站内文章是多余的,可以关闭这个功能。
方法如下,在 WordPress 主题的 functions.php 中添加如下代码:
function no_self_ping( &$links ) {
$home = get_option( ‘home’ );
foreach ( $links as $l => $link )
if ( 0 === strpos( $link, $home ) )
unset ( $links[$l]);
}
add_action ( ‘pre_ping’, ‘no_self_ping’ );
如果我没记错的话,这段代码的前身是一个插件,但是仅仅为这几行代码动用一个插件是不是太奢侈了?能省则省吧,还是把它提取到了非插件集成在主题里,多省心呀
-
WordPress主题在线生成器
不懂HTML,也不懂JS、PHP和CSS,可是又想制作一个属于自己的WordPress主题?试试WordPress主题在线生成器吧。
今天要介绍的就是已有若干年历史的主题生成器WordPress Theme Generator。它使用起来非常方便,你需要做的就是选择颜色、选项、样式,然后在线预览,预览完成后点击最下方的“save”保存你制作出来的主题,然后系统会提供相应的zip文件供你下载。
当文件下载完毕,按照常规主题安装步骤完毕后,激活主题,你就可以用上自己制作出的主题了。
WordPress Theme Generator兼容WordPress 2.1到3.1的所有版本,支持widget和标签,给出各种设计要素供用户选择。效果在右侧显示。
WordPress Theme Generator的缺点在于不够灵活,选项只能满足基本需求。如果你对主题的要求比较高,去官方主题库寻找适合的主题更靠谱些。
-
wordpress 替代 All in One SEO Pack插件
在寻找All in One SEO Pack插件的替代方案前,首先要弄明白这个问题。下面几个功能是最有价值的,也是wordpress默认无法提供的:
1、博客的标题(title)应当写成内容 | 博客名的形式;
2、head部分添加充足的meta说明;
3、让搜索引擎不要索引存档页面,存档页面都是重复内容,这会降低博客的评分。
4、为每一篇文章以及博客首页,加上独特的关键词(keywords);
下面就会针对这些问题,给出解决方案。如果你不大了解php语言,只需要按照说明复制粘贴到自己的wordpress模板中就可以了。
修正博客的标题
在模板文件夹中找到header.php文件,打开后修改title标签:
<title><?php wp_title(‘ | ‘, true, ‘right’); ?><?php bloginfo(‘name’); ?></title>
/**或者干脆把博客的名字写死,你总不会时常换博客名字吧**/
<title><?php wp_title(‘ | ‘, true, ‘right’); ?>Cogipard Playground</title>
添加充足的meta说明
还是修改header.php文件,在head标签中酌情加入如下内容:
/**博客的描述性内容,你可以像我这样写死,也可以采用wordpress的副标题(用bloginfo(“description”)获得)**/
<meta name=”description” content=”A personal online home, portfolio and journal.” />
/**博主的名字**/
<meta name=”author” content=”dotswing” />
/**版权信息**/
<meta name=”copyright” content=”Cogipard Playground” />不索引存档页面
修改header.php文件,紧接着上述的meta标签,加入:
<?php if (is_single() || is_page() || is_home() ) : ?>
<meta name=”robots” content=”index,follow” />
<?php else : ?>
<meta name=”robots” content=”noindex,follow” />
<?php endif; ?>这样对于存档页面,搜索引擎就不会去索引这些重复的内容了。
个性化输出页面文章的关键词
在模板文件夹下的functions.php文件中,加入如下的函数:
function keywords() {
$keywords = ”;
if( is_single() || is_page() ){
$terms = get_the_terms( get_the_ID(), ‘post_tag’ );
if ( is_wp_error( $terms ) )
return $terms;
if ( empty( $terms ) )
return false;
foreach ( $terms as $term ) {
$keywords .= $term->name;
$keywords .= ‘, ‘;
}
}
else {
$tags = get_tags(‘orderby=count&order=DESC’);
foreach ($tags as $tag){
$keywords .= $tag->name;
$keywords .= ‘, ‘;
}
}
$keywords = substr($keywords, 0, strlen($keywords)-2);
echo $keywords;
}这个函数的作用是,如果访客浏览的是单独的某文章页面,就会把该文章对应的tag提取出来,作为关键词;如果是其它页面,则把博客所有的tag一起输出成关键词。关键词用逗号隔开。
在header.php中调用这个函数:
<meta name=”keywords” content=”<?php keywords();?>” />
functions.php中的代码,可以在模板页中直接使用,wordpress已经为我们做好了include操作,不需要自己来写include_once(‘functions.php’);了。 -
WordPress 3.1 禁止自动草稿(auto-draft)的方法
WordPress3.1版本发布有一段时间了。该版本不仅仅有自动保存历史版本的功能(通常都用不着,还会造成一些垃圾数据),还增加了一个自动保存草稿的功能。你每次点击”add new”时都会在post表中保存一条状态为“auto-draft”的后台不可见记录,同样会造成一些垃圾数据以及ID的不连续性。
为保证尽量减少数据库中的垃圾和保持日志ID的连续性,人们想了很多办法,各显神通。但大部分都是采用插件形式。插件形式仅仅能禁止日志的历史版本,却对自动插入的状态为”auto-draft”的记录无能为力。而且这种记录并不能在wordpress的后台看到。对于追求完美和有洁癖的人来说,这些记录实在是很烦人。
禁止自动生成 auto-draft 的不可见草稿:
在wp-admin/includes/post.php中,从第374行开始,有一个if判断,代码如下:
if ( $create_in_db ) {
// Cleanup old auto-drafts more than 7 days old
$old_posts = $wpdb->get_col( “SELECT ID FROM $wpdb->posts WHERE post_status = ‘auto-draft’ AND DATE_SUB( NOW(), INTERVAL 7 DAY ) > post_date” );
foreach ( (array) $old_posts as $delete )
wp_delete_post( $delete, true ); // Force delete
$post_id = wp_insert_post( array( ‘post_title’ => __( ‘Auto Draft’ ), ‘post_type’ => $post_type, ‘post_status’ => ‘auto-draft’ ) );
$post = get_post( $post_id );
} else {
解释一下这段代码的功能,首先,清除七天以前的自动草稿,然后插入一条新草稿,如果你继续写文章并发布,那么这条草稿就被使用了,包括在后台首页有一个快速发布,也用到了这个。但如果你仅仅是点击了new post(添加文章),接下来没有输入任何内容就跳到别的页面去了或关闭了,此时仍然会生成一个自动草稿,而这个草稿,是后台不可见的,是垃圾数据。所以修改了一下代码,将这个if判断中的内容替换成以下内容,代码如下:
if ( $create_in_db ) {
// modify by akii start
global $current_user;
$post_auto_draft = $wpdb->get_row( “SELECT * FROM $wpdb->posts WHERE post_status = ‘auto-draft’ AND post_author = $current_user->ID ORDER BY ID ASC LIMIT 1” );
if ($post_auto_draft){
$post = $post_auto_draft;
} else {
$post_id = wp_insert_post( array( ‘post_title’ => __( ‘Auto Draft’ ), ‘post_type’ => $post_type, ‘post_status’ => ‘auto-draft’ ) );
$post = get_post( $post_id );
}
// modify by akii end
} else {
原理及说明:当数据库中有一条或多条状态为”auto-draft”的自动草稿时,取ID最小的,新文章即使用此条记录。如果没有此种类型的数据,才会新插入一条数据。并且查询数据时是根据当前的用户来判断,不会出现多用户时出错。这样就可以避免了自动草稿(auto-draft)的冗余垃圾数据。保证了日志ID的连续性。但最后我要提醒一句,如果你在日志中添加了附件,如图片,那么该图片也会占用一条数据,即一个连续的ID,所以,如果你以ID形式,发现日志有时候不是连续的ID了,那么,有可能是你日志的附件占用了临近的ID。 -
wordpress嵌入视频
中文视频网站视频自动嵌入 – 允许您以在文章添加视频播放页面网址的方式,简单地插入优酷网、56.com 和土豆网视频。默认开启。
当前支持的站点、样例 URL 和参数如下:•优酷网 – 如 http://v.youku.com/v_show/id_XMjQxMjc1MDIw.html – 宽 480px,高 400px
•56.com – 如 http://www.56.com/u21/v_NTgxMzE4NDI.html – 宽 480px,高 395px
•土豆网 – 如 http://www.tudou.com/programs/view/o9tsm_CL5As/ – 宽 480px,高 400px
您只需在文章另起一段,写入形如上述的播放页面链接。在文章显示时,WordPress 将自动替换这些链接为相应视频播放器。需要您特别注意的是,请不要为 URL 设置超链接,且该 URL 本身必须独立成段。 -
WordPress 3.1版正式发布
WordPress 3.1于昨晚正式发布,该版本比官方原定发布计划晚了2个多月,被命名为Reinhardt,献给爵士音乐家 Django Reinhardt。
目前,官方已经提供中文版本下载,站长也可以在博客后台看到更新提示。
此版本引入了全新设计的链接方式 —— 今后您可以以闪电般的速度将文字链接到站点中的其它文章或页面;添加了“管理工具条”功能,使用常用功能将只需点击一次鼠标;简洁的流程化的写作界面默认隐藏了极少用到的功能(在“页面选项”中可恢复它们),就算您是“新手”,也从此不必害怕了。3.1 版本还提供了新的蓝色后台配色方案。
开发者也有糖吃 —— “文章形式”功能让开发者为主题设计“微博”文章格式更加顺手;新内容管理系统(CMS)功能提供了用来显示自定义文章类型的归档页面支持;此版本还包含了全新的“网络管理员”、导入和导出系统的改造、分类法高级查询等功能。
-
wordpress无法上传附件的解决办法
很多朋友,因为对WordPress主机认识有一个不断变化的过程,所以会经常更换主机,几次转换之后,还有可能出现的一个问题是:博客无法上传附件。
出现问题的原因:不管是哪种主机,在帐户创建的时候,那Wopus来说,帐户的绝对路径开始一定是:/home/wopus/xxxx。这里wopus就是登陆主机控制面板的用户名,如果把博客放在public_html根目录,那附件上传的绝对路径是:/home/wopus/public_html/wp-content/uploads/month/xxx。
由于要换空间,新开空间可能会使用不同的用户名,比如新的空间使用qiuzhang这个用户名,那么,在程序上传完毕,数据库也导入完成之后,附件的上传绝对路径还是没有变,还是:/home/wopus/public_html/wp-content/uploads/month/xxx;但正确的上传绝对路径应该是:/home/qiuzhang/public_html/wp-content/uploads/month/xxx。
于是,我们只要在wp_options数据表的第二页找到:upload_path,点击最前面的修改,把地址修改成正确的绝对地址,然后保存,这样,再上传,问题就解决了。
-
WordPress编辑器全攻略
为编辑器添加新的HTML标签
默认情况下WordPress编辑器不允许不符合XHTML 1.0标准的HTML标签出现在编辑器里。例如,iframe就会被编辑器过滤掉。如果你需要在文章或者页面里插入iframe,结果会让你很沮丧。
下面的代码强制编辑器接受更多HTML标签。你只需要把它们粘贴到主题的functions.php文件里然后保存就可以了。
function fb_change_mce_options($initArray) {
$ext = ‘pre[id|name|class|style],iframe[align|longdesc|
name|width|height|frameborder|scrolling|marginheight|
marginwidth|src]’;
if ( isset( $initArray[‘extended_valid_elements’] ) ) {
$initArray[‘extended_valid_elements’] .= ‘,’ . $ext;
} else {
$initArray[‘extended_valid_elements’] = $ext;
}
return $initArray;
}
add_filter(‘tiny_mce_before_init’, ‘fb_change_mce_options’);
将HTML编辑器设为默认编辑器惯于写代码的站长们更习惯编写HTML,所以他们不太喜欢WordPress的可视化编辑器,而且在所见即所得编辑器里更可能生成无效代码或者混乱的代码。
那么要怎样把HTML编辑器设为WordPress的默认编辑器呢?打开主题的functions.php文件,加入以下代码:
add_filter(‘wp_default_editor’, create_function(”, ‘return “html”;’));
在编辑器里添加默认内容在functions.php文件里添加以下代码:
function insertFootNote($content) {
if(!is_feed() && !is_home()) {
$content.= “<div class=’subscribe’>”;
$content.= “<h4>标题</h4>”;
$content.= “<p>显示的正文内容<a href=’http://指向的链接’>链接文字</a></p>”;
$content.= “</div>”;
}
return $content;
}
add_filter (‘the_content’, ‘insertFootNote’);
事实上这些内容并不会显示在编辑器里,但你每次发布新文章时,文章结尾会出现你事先设定的内容。显示Tiny MCE中的隐藏按钮
默认情况下,WordPress的TinyMCE编辑器中只给出了最常用的编辑按钮,比如加粗、斜体、标题等。如果你需要更多文字格式选项,可以在functions.php文件里加上下面的代码,让隐藏的按钮统统显示出来:
function enable_more_buttons($buttons) {
$buttons[] = ‘hr’;
$buttons[] = ‘fontselect’;
$buttons[] = ‘sup’;// etc, etc…
return $buttons;
}
add_filter(“mce_buttons”, “enable_more_buttons”);
可用的编辑按钮包括:加粗、斜体、下划线、删除线、左对齐、居中、右对齐、两端对齐、无序列表、编号列表、减少缩进、缩进、剪切、复制、粘贴、撤销、重做、插入超链接、取消超链接、插入图片、清除、帮助、代码、水平线、删除格式、格式选择、字体选择、字号选择、样式选择、上标、下标、前景色、背景色、特殊符号、视觉辅助、锚文本、新建文本与分隔符。添加本地语言的拼写检查
WordPress默认配置中有一个英文拼写检查工具,那么有没有办法对其它语言进行拼写检查呢?
同样可以在functions.php里加上下面的代码(以中文为例)以实现拼写检查功能:
function fb_mce_external_languages($initArray){
$initArray[‘spellchecker_languages’] = ‘+Chinese=zh,
English=en’;return $initArray;
}
add_filter(‘tiny_mce_before_init’, ‘fb_mce_external_languages’);
虽说WordPress内置的TinyMCE编辑器就是一款所见即所得(WYSIWYG)编辑器,然而我们在后台编辑好的文章和在前台看到的效果,总不十分一致。要让后台编辑结果和前台显示效果实现更高的匹配度,其实也不难。给WordPress编辑器添加自定义按钮
在WordPress编辑器里添加各种按钮,可以给编辑器增加更多功能,让你更方便地编辑文章。
假设我们需要在HTML编辑器里加上一个Google AdSense广告的插入按钮。首先需要编写一段关于Google AdSense的短代码并加入到funtions.php文件里。下面是一个Google AdSense段代码的示例:
function do_adsense() {
$adsense = “你的AdSense代码”;
return $adsense;
}
add_shortcode(‘adsense’, ‘do_adsense’);
完成上面的代码后,我们需要在wp-includes/js文件夹下的quicktags.js文件里加入一段代码。不过操作顺序应该是,在quicktags.dev.js文件里加入代码:edButtons[edButtons.length] =
new edButton(‘ed_adsense’
,’adsense’
,’[adsense]’
,’’
,’adsense’
);
然后将quicktags.dev.js更名为quicktags.js,替换原有的quicktags.js文件。(为防止意外情况发生,请事先备份这两个文件)保存并刷新后台的编辑界面,你就会看到新的编辑按钮了,当然你也可以稍微改动其中的代码来添加其他按钮。