WordPress 主题开发时应备的辅助函数

在 WordPress 主题开发时,经常会用到 三目运算符 来判断 Options Framework 的返回值。因此,可以将其封装为一个函数进行调用。


function hf_config_echo($name, $default = '')
{
    $value = of_get_options($name);
    if ($value) {
        echo $value;
    } else {
        echo $default;
    }
}

如何自定义 WordPress 后台的 Admin

WordPress 的后台有非常多的东西,其中的很多东西都并非我们想要的,时间长了,看起来特别的头疼,所以,不妨写一些代码,来精简你的后台。

你所需要做的很简单,就是在你的主题的 functions.php 文件中添加如下代码。

function ixiqin_com_remove_menu_item()
{
    // 移除菜单项目的代码
}
add_action('admin_menu', 'ixiqin_com_remove_menu_item');

其中,移除菜单项目的代码主要有以下两个函数

  • remove_menu_page('upload.php') 这个是移除一级菜单的,比如这个移除的是媒体库的菜单项目。
  • remove_submenu_page('options-general.php','options-reading.php')这个是移除设置中,阅读二级菜单的。

这两个函数的参数都是文件路径,这个路径你可以在 URL 栏中找到

用上了自己做的翻译插件

之前用的翻译插件cos_slug_translator 因为一些原因,并没有办法很好的和 JetPack 一起联用。导致每次发布到 Twitter 的文章链接都是失效的。为此,我前往 Github ,在 JetPack 的项目中发起了一个 Issue 。

Jeremy 给我了一些建议 , 于是,我就重新做了一个插件,并将这个插件提交到了官方的插件系统。希望可以通过审核。

后续考虑继续支持其他一些翻译平台,比如,有道翻译的新 API、搜狗、Google等一系列。特别是 Google, 这样就可以支持非中文文章了,比如,日语的。

项目仓库:

https://github.com/bestony/automatic-translate-slug

本站在用的一些WordPress插件

Akismet Anti-Spam

WordPress 官方出的,用于屏蔽垃圾评论的。基本上每个用 WordPress 的人都会装。

CB Change Mail Sender

一个用于修改 WordPress 自动发信时的 Sender 和 Sender Email Adress 的插件。

cos_slug_translator

将文章的 Slug 从中文转换为英文的插件。后续我会重写这个插件,更简单使用,以及发布到官方的插件市场。

Jetpack

JetPack 用于古腾堡编辑器中的新 Block

Link Share

我自己开发的插件,效果可以参考顶部菜单栏中的分享页面。

https://wordpress.org/plugins/link-share/

No Self Pings

用于控制自己的文章不要向内产生 PingBack

WP-Optimize

WordPress 优化插件

WP-PostViews

WordPress 访问量统计插件

WordPress 换域名代码



UPDATE wp_options SET option_value = replace(option_value, 'www.olddomain.com','www.newdomain.com') ;
UPDATE wp_posts SET post_content = replace(post_content, 'www.olddomain.com','www.newdomain.com') ; 
UPDATE wp_comments SET comment_content = replace(comment_content, 'www.olddomain.com', 'www.newdomain.com') ;
 UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'www.olddomain.com', 'www.newdomain.com') ; 

Simple Plyr —— 又双叒叕一个视频播放器

plyr 挺好看的

初衷

原本我是打算用 WordPress 来建设云学堂的,所以就制作了这款编辑器。但是后来由于考虑到长期发展的问题,所以又放弃了 WordPress 的方案,暂定使用 RoR 来建设。

插件信息

插件名为 Simple Plyr ,目前已经上架到 WordPress 官方仓库,可以在后台直接搜索下载

插件使用说明

使用短代码`[plyr]`即可添加播放器,支持参数 urlposter ,分别是视频地址和视频封面图片地址

Github 仓库地址:https://github.com/bestony/simple-plyr
WordPress 官方仓库地址:https://wordpress.org/plugins/simple-plyr/

七星主题修复的问题

前段时间承接了 李长太老师的博客,由于我惯用 PHP 7 ,所以李老师的博客也被我放在了 PHP 7 的站点上,但是由于使用的主题是第三方仿的,在使用中出现了非常多的问题。

比如:无法正常加载主题设置项、开启 Debug 后显示非常多的报错。在这里记录一下,以备后用。

建议给has_cap传入一个参数!用户级别已被废弃,请改用能力。

这是因为使用的函数调用的是传统的 1,2,3来表示权限,但是用户等级早已弃用,将其中的用户等级修改为权限名即可。

add_menu_page("主题设置", "主题设置", '10', 'sevenstar_theme', array(&$this,'sevenStar_Theme_Options_Form'),'dashicons-carrot','777');
// 改为 
add_menu_page("主题设置", "主题设置", 'manage_options', 'sevenstar_theme', array(&$this,'sevenStar_Theme_Options_Form'),'dashicons-carrot','777');

无法加载后台设置项目

这一块主要是渲染表单出了问题,所以这里就只需要将对应的用法改为 php7 的即可。

$this->$option['type']( $option )
// 改为
{$option['type']}( $option );

使用类名作为构造函数

这个更为简单,只需将类名对应的构造函数改为 __construct即可

Insert Update Time – WordPress 的链接分享插件

又一个轮子

初衷

在使用 Dokuwiki 时,可以使用按钮一键添加一个编辑记录的标签

我在写博客时,有更新旧文的习惯,但是由于没有更新记录,对读者来说不慎友好,故而做出这个插件,来一键生成编辑记录。

插件信息

插件名为 Insert Update Time ,目前已经上架 WordPress 官方插件库,可以通过在博客后台搜索直接下载

插件使用说明

插件默认会在你的编辑器内添加一个按钮,点击按钮,就会自动生成一个更新记录。

更新记录中包含一个 更多标签和一个包含用户信息和更新日期的标志。

插件使用动态图

TinyMCE

QuickTag

插件安装方法

1. 在 WordPress 后台搜索 Insert Update Time 或搜作者 Bestony ,即可找到这个插件
2. 前往插件主页下载插件,并上传到 WordPress 中 https://wordpress.org/plugins/insert-update-time/

我的其他插件

LinkShare – WordPress 链接分享插件