在 Plugin 中使用 WP_PLUGIN_URL 的问题

通常,在 WordPress 的 Plugin 编写中,如果涉及到静态文件的引用,我通常会这样写

echo '<link rel="stylesheet" href="'.WP_PLUGIN_URL.'/myplugin/somecss.css" type="text/css" media="screen">'."\n";

如果你在 General Settings 中的 WordPress Address (URL) 里设置的是一个 HTTP 地址,如 https://bingu.net
而别人用 HTTPS 地址 https://bingu.net 来访问的时候,插件里的静态文件引用仍旧是以 HTTP 地址为基础,就不能很好地载入了。

问题出在 WP_PLUGIN_URL 这里,看看它的定义是怎样的 WP_PLUGIN_URL (WordPress Constant)

define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' );

再来看看 WP_CONTENT_URL 的定义是

define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );

WP_PLUGIN_URL 的基础地址是 get_option( ‘siteurl’ ),也就是 General Settings 中的 WordPress Address (URL) 里设置的地址,这里是一个硬编码的一个地址,设置的是 HTTP 地址,get_option 出来就是 HTTP 地址,不会根据访问的情况自行更替 scheme。

因为浏览器在静态文件链接没有提供 scheme 时,会根据访问地址的 scheme 自行载入相应 scheme 的静态文件。这样解决就很容易了,只要将 WP_PLUGIN_URL 变成一个没有 scheme 的地址就可以了,所以上面的静态文件的引用变成了这样

echo '<link rel="stylesheet" href="'.str_replace(array("http:", "https:"), "", WP_PLUGIN_URL).'/myplugin/somecss.css" type="text/css" media="screen">'."\n";

修复lnmp一键安装包WordPress伪静态错误

用过的lnmp一键安装包有二,之前用的猫叉lnmp和现在用的lnmp.org。两家的WordPress伪静态设置都有同一个问题,就是进入wp-admin后台输入的网址为不带最后的斜杠时(如:https://bingu.net/wp-admin),则进入后台后点击左边的导航栏将不能进入正确的网址(如,留言编辑页面正确网址应该为:https://bingu.net/wp-admin/edit-comments.php,这时点击进入的却是:https://bingu.net/edit-comments.php),得到的将是闪亮的404页面。
wordpress-nginx-rewrite-conf
Read More »

禁用scandir导致wordpress主题列表出错

重新布置lnmp环境后,的确有注意到PHP是禁用了scandir了这个函数的,当时没怎么留意。在更换wordpress主题时就发现死活刷新不出该有的主题,只列出了当前使用主题。搜索后才发现原来是禁用scandir导致了这个问题,重新启用scandir函数后搞定。

WordPress for blackberry is cool

成功解决wap线路问题,已经可以舒服地用blackberry对冰古blog进行管理应用了,爽!

再次更新blogbus2wordpress

在新一轮的爬行行动中,blogbus不幸中招,再次更新一下以往的blogbus2wordpress程序

很匆忙弄的,只是纯粹用正则表达式把blogbus备份中的tag转换了一下,所以这个程序的运行是完全是没有效率可言的,当然我在上网本中测试是可以把1MB左右,大概四五百篇文章的备份(这个备份只是我从几篇短小的文章扩展成四五百篇这样子)转换成功的,大家尽管试试吧。

这个版本可以完整保留blogbus中的分类和标签,但依旧没有保留留言。
Read More »

见鬼的WP2.8编辑器代码高亮

早两天新装了一个WordPress,2.7.1版的,不过很神奇的是,2.8里的功能已经能提前体验了。这不,我就尝到了我并不喜欢的代码高亮功能的s**t了。

我对在线编辑器的要求很简单,一个文本框加一个按钮就已经完全能满足我的要求了(事实上,文章编写区的文本编辑器我仍旧使用的是老旧的代码编辑器,而不是2.3才添加的TinyMCE编辑器)。我使用在线编辑器的频率并不高,一个月能用一次,已经够频繁的了。我的网络环境并不好,很烦那个不停转的圈。

见鬼的WP2.8编辑器代码高亮
Read More »

WordPress官方插件库SVN的400 Bad Require错误的解决

当你使用Windows XP,并用TortoiseSVN提交插件到WordPress官方插件库时,你可能会遇到这样的问题:不会弹出输入用户名和密码的提示框,然后提示“400 Bad Require”错误。

解决方法很简单:把WordPress邮寄给你的地址,例如:http://svn.wp-plugins.org/someplugin/,改为:https://svn.wp-plugins.org/someplugin/,即可。

二零零八总结与二零零九展望

二零零九年已经来到,又是时候对过去的一年做一个总结了。
当然,自然少不了对二零零九年来个展望啦。(希望自己能做到吧 😕 )

二零零八年发布文章数:107

数量比上一年有了明显的提高,但自己感觉还是少了点,所以希望接下来的二零零九年能发布更多的文章。

#对应的得到2008年发布文章数的SQL语句
SELECT COUNT( * )
FROM `wp_posts`
WHERE post_date >= '2008-01-01'
AND post_date < '2009-01-01'
AND post_type = 'post'
AND post_status = 'publish'

收到的留言(包括trackback与pingback):940

得益于国人在WordPress留言系统上的改进与提高,留言数有了很大的提高。(当然冰古自己的留言都占了一大部分 :mrgreen:
二零零九年的希望当然是越多越好啦 🙂 (这个任务希望大家帮帮忙)

#对应的得到2008年收到留言总数的SQL语句
SELECT COUNT( * )
FROM `wp_comments`
WHERE comment_date >= '2008-01-01'
AND comment_date < '2009-01-01'
AND comment_approved =1

二零零八年发表并收到留言数量前十的文章:

  1. godaddy域名超级优惠码 → 留言数:38
  2. WordPress中用Ctrl+Enter提交留言 → 留言数:37
  3. 《命令与征服:红色警戒3》电驴下载 → 留言数:29
  4. 《归来!悟空和他的朋友们》QQ中转站下载 → 留言数:26
  5. 博客接龙大赛:Wordpress十八摸 → 留言数:25
  6. 长见识啊 → 留言数:25
  7. Gmail邮件小表情 → 留言数:25
  8. 常驻我电脑的国产软件 → 留言数:24
  9. WordPress主题:Simple.1 → 留言数:19
  10. 使用Netbeans开发WordPress → 留言数:19
#对应的收到留言最多的文章的SQL语句
#wordpress 2.7适用,其他版本未测试
#如不能使用,可以参考:https://bingu.net/425/some-sql-for-2006-blog-stats/
SELECT `ID`, `post_date`, `post_title`, `comment_count`, `post_name`
FROM `wp_posts`
WHERE post_date >= '2008-01-01'
AND post_date < '2009-01-01'
AND post_type = 'post'
AND post_status = 'publish'
ORDER BY `wp_posts`.`comment_count` DESC

附上使用GaMerZ WP-PostViews插件的查看数最多统计SQL语句:

SELECT DISTINCT meta_value, ID, post_title, post_name, post_date, comment_count
FROM `wp_posts` , `wp_postmeta`
WHERE post_id = ID
AND post_date >= '2008-01-01'
AND post_date < '2009-01-01'
AND post_type = 'post'
AND post_status = 'publish'
AND meta_key = 'views'
ORDER BY cast( `meta_value` AS DECIMAL ) DESC

最后,感谢各位的留言支持:
最勇猛的五位兄弟(姐妹?)是

  1. wayne → 留言数:25
  2. Donald → 留言数:24
  3. Yacca → 留言数:19
  4. iColor → 留言数:18
  5. JoBru → 留言数:18
#对应留言最多的SQL语句
SELECT DISTINCT concat( '<a href="', comment_author_url, '">', comment_author, '</a>' ) , count( comment_author ) AS num_author
FROM `wp_comments`
WHERE comment_date >= '2008-01-01'
AND comment_date < '2009-01-01'
AND comment_author != '冰古'#去掉自己吧
AND comment_type != 'trackback'
AND comment_type != 'pingback'
AND comment_approved =1
GROUP BY comment_author, comment_author_email
ORDER BY num_author DESC