后台不显示wordpress版本、插件和主题更新提示

每次wordpress新版本发布,作者更新插件或官方主题更新的时候,wordpress后台都会有升级提示,有时候网站开发者修改了程序源代码,或者对插件主题作了特定的修改,不希望客户自主更新程序版本、主题版本或插件版本,那么屏蔽WP程序的后台更新提示非常有必要,屏蔽的方法很简单,只需要在当前主题的functions.php文件中添加以下代码即可:

1
2
3
4
5
add_filter ('pre_site_transient_update_core', '__return_null');
remove_action ('load-update-core.php', 'wp_update_plugins');
add_filter ('pre_site_transient_update_plugins', '__return_null');
remove_action ('load-update-core.php', 'wp_update_themes');
add_filter ('pre_site_transient_update_themes', '__return_null');

WordPress多站点搭建教程

WordPress 3.0之后的版本都开始支持多站点管理,意味着你可以在一个WordPress安装上实现多博客运行。 在WordPress后台里,这个功能被叫做“网络(Network)”。 WordPress多站点功能默认是没有启用的,要使用需要自己激活该功能,节省空间和服务器资源,方便管理。

虽然WordPress多站点下的所有站点共享主题和插件,但是每个站点还是可以个性化设置的,每个子站点的独立性还是很高的。下面我们就来详细介绍设置过程:

1、确认自己的主机方案是否支持

在建立自己的“博客联盟”的热血还未沸腾之前,还是要先检查一下自己的主机商是否支持WordPress MU或者泛域名解析,特别是一些价格比较低的虚拟主机方案。虽然你可以用子目录的方式替代子域名,但是这能间接说明主机功能的高低。

2、激活WordPress多站点功能

WordPress多站点功能默认是关闭的,需要用户自行激活。在WordPress目录下的wp-config.php文件中,找到/* That’s all, stop editing! Happy blogging. */,在这行代码的上面添加:

 

define('WP_ALLOW_MULTISITE', true);

然后保存。随后登录WordPress后台,会发现在主站点的WordPress后台上多了一层管理所有站点的总的WordPress站点管理后台。

3、停用所有插件

WordPress多站点设置需要停用WordPress上已有的所有插件,即使新装的 WordPress,也会有一些默认安装、启用的插件。

4、修改wp-config.php、.htaccess文件

随后进入WordPress后台,发现多出的“配置网络(network)”选项,进入后按照页面上的提示,将页面上提供的代码粘贴到wp-config.php、.htaccess文件中,保存修改。

5、子域名or子文件夹

在配置中会提示选择为新站点使用子域名或子文件夹方式来安装。如果选择的是子域名方式,则如之前所说,你的主机空间必须支持泛域名解析,且最好提前做好泛域名解析(一般是在DNS Zone Edit下,添加一条A记录,绑定子域名IP地址。泛域名格式:*.example.com)。

6、添加子站点

如果你顺利做完以上步骤,则WordPress多站点基本配置结束。下面要做的就是添加子站点了。在“站点”下进入“新建站点”,填写子站点URL、子站点名称和管理员邮箱,单击“添加站点”就可以了,随后在“我的站点”下拉菜单中就会出现子站点的名称。

:有时候进入子站点WordPress后台对子站点进行单独管理的时候,会遇到403、404或500错误。这时候可能需要再确认一下DNS设置是否正确,或者在添加域名时,将域名指向“/”而不是默认的folder。当然,问题可能各有不同,仅供参考。

WordPress多站点搭建教程

wordpress多站点,如何保持用户在子域名注册过程中?

问题描述

我正在运行wp子域多站点结合域映射。这意味着我可以创建一个新的子域名xyz.site.com并将域名’xyz.com’映射到该站点。

我遇到的问题是有人在子域映射网站’xyz.com’上单击’register’,并将其发送到site.com进行注册。

这对许多人来说非常混乱,我厌倦了投诉。

如何设置wp多站点,以便如果一个人想在子站点上注册,那么他们不会在任何时候离开该站点?

我使用多站点托管多个客户端站点,所有这些站点都有自己的域名。我只是将’map’的域名转给他们的子域名。这意味着来到一个客户端的用户注册,正在发送到主站点进行注册,这只是一个简单的错误和混乱

最佳解决方案

什么@petermolnar建议也将您的用户重定向到主站点,如果他们想注册(我已经测试了,但随意使用它,这是很好的做法)。

您需要的是前端的注册/登录/edit-profile插件:http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/

它是基于短代码,所以你需要做的是将您的用户重定向到具有[wppb_register]短代码的注册页面。为每个需要的站点创建注册/登录/edit-profile页面,就是这样。

wordpress多站点,如何保持用户在子域名注册过程中?

参考文献

注:本文内容整合自Google/Baidu/Bing辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。

WordPress多站点(WPMU)的创建

WordPress多站点(WPMU)的创建

在Wordpress3.0及以上版本可以直接使用多站点,它可以:

1、只安装一个Wordpress程序即可创建多个wordpress站点,可以是子域名也可以是子目录。

2、可以有独立的博客后台,独立的博客地址。

3、管理员可设置开放哪些主题给站点使用。

4、管理员可配置插件给每个站点使用。

5、多个站点之间共用“用户数据库表”,也就是表 wp_usermeta 和 wp_users,其他的为独立数据库表。

WordPress多站点的配置方法:

1、首先,备份网站的数据库,以防出现意外时恢复(一般可忽略)。

2、打开WordPress的根目录下的wp-config.php文件,在require_once(ABSPATH . 'wp-settings.php');前面加上以下代码:

define('WP_ALLOW_MULTISITE',true);


3、进入WordPress后台,”工具”-> 点击”配置网络”

ps:如果您要使用二级域名的形式,可以到“设置”->“常规”里面,把站点地址(URL)的www.去掉。

4、点击安装后,按照提示做好相关的配置

5、配置好,再次进入后台,在头部将出现“我的站点”->“管理网络”的选项菜单,接下来您可以管理或者创建站点,也可以开启主题或者插件给其他站点使用。

6、如果要给站点绑定其他域名,可以安装 WordPress MU Domain Mapping 插件。

WordPress MU Domain Mapping插件绑定其他域名的方法:

1、打开WordPress的根目录下的wp-config.php文件,在require_once(ABSPATH . 'wp-settings.php');前面加上以下代码:

define('SUNRISE', 'on');

2、将WordPress MU Domain Mapping插件里面 sunrise.php 文件移到 /wp-content目录中

3、获取站点ID。

点击导航的【站点】-【所有站点】,找到您要绑定域名的站点,鼠标放上去,点【编辑】,会在浏览器地址栏中看到类似于site-info.php?id=2其中数字2 就是我们要的站点ID(Site ID)

4、点击导航的【设置】-【Domains】,在【New Domain】中填写信息,如图:

如果勾选 Primary 表示该域名为主要域名,切记:同一个站点只能其中一个域名勾选,其他的附属域名不要勾选。

30个可视化WordPress页面构建起插件下载

使用页面可视化拖拽器能够给主题带来强大的拖放功能,下面分享一些WordPress主题拖拽插件,这些插件允许创建滑块,标签,按钮,切换等。喜欢的收藏或分享吧。enjoy!

你可能感兴趣的拖拽资讯:

 

MiniMax – Page Layout Builder

MiniMax

?Live Demo?Download?Buy Now

Beaver Builder – WordPress Page Builder

Beaver Builder

?Live Demo?Download?Buy Now

Page Builder Sandwich

Page Builder Sandwich

?Download

WR Page Builder

WR Page Builder

?Live Demo?Download

SiteOrigin Page Builder

SiteOrigin Page Builder

?Download

PlugNedit

PlugNedit

?Live Demo?Download

Qards

Qards

?Buy Now

Aqua Page Builder

Aqua Page Builder

?Download

MotoPress Content Editor

MotoPress Content Editor

?Live Demo?Download?Buy Now

Massive Visual Page Builder

Massive Visual Page Builder

?Live Demo?Download?Buy Now

Duda Mobile Website Builder

Duda Mobile Website Builder

?Download?Buy Now

Zedity

Zedity

?Download?Buy Now

Unyson Framework

Unyson Framework

?Live Demo?Download

Gantry Framework

Gantry Framework

?Download

Visual Composer

Visual Composer

?Buy Now

Elegant Themes Drag And Drop Builder Plugin

Drag and Drop Builder Plugin

?Live Demo?Buy Now

Conductor Plugin

Conductor Plugin

?Buy Now

VelocityPage

VelocityPage

?Live Demo?Buy Now

Live Composer Plugin

Live Composer Plugin

?Live Demo?Download?Buy Now

Themify Builder

Themify Builder

?Buy Now

WPZOOM Builder

WPZOOM Builder

?Live Demo?Buy Now

Awesome Builder

Awesome Builder

?Buy Now

PixGridder

PixGridder

?Live Demo?Download?Buy Now

PT Builder

PT Builder

?Live Demo?Buy Now

Frontend Builder

Frontend Builder

?Live Demo?Buy Now

Fast Page Layout

Fast Page Layout

?Live Demo?Buy Now

The Creator

The Creator

?Live Demo?Buy Now

Content Manager For WordPress

Content Manager for WordPress

?Live Demo?Buy Now

WP Visual Page Builder

WP Visual Page Builder

?Live Demo

wordpress安装手册(AMH)

产品说明

WordPress简称WP,最初是一款博客系统,后逐步演化成一款免费的CMS(内容管理系统/建站系统),目前是公认的全球最好的建站平台,市场占有率超过21%。这套系统因易用性、易扩展性( 插件 、模板 、二次开发)、功能强大、美观、搜索引擎友好等而全世界著名。WP生态体系非常健全,通过主题和插件扩展,WordPress可以说是无所不能。

配置软件

  • centos6.5 64位
  • AMH4.2
  • Nginx1.4.4
  • MySQL5.3.34
  • PHP 5.3.27

检测系统

在浏览器输入你的服务器ip:8888 ? ?例如:888.55.22.2:8888 ? ?(注意是英文输入法,没有空格)

看到以下登陆面板,说明控制面板系统完好。

登陆控制面板管理系统。默认账户 admin ?密码 eyearth.com

修改管理员账户密码

在管理员菜单我们找到更改密码 ?旧密码为 eyearth.com

修改数据root管理员密码. ?默认的root管理员密码为 ?eyearth.com


创建虚拟主机

创建数据库

 

 

 

wordpress安装

 

这个时候在浏览器输入你的域名,你会看到如下页面。填入你设置的数据名、用户名、密码。

 

这里需要输入管理员的信息,自己填写完成。

 

 

后台登陆地址是你的域名/wp-admin

 

 

常规wordpress插件写法

在开始之前,需要注意三件事情
I、给插件取一个个性化的名字,越个性化越好,以防和其他插件重名冲突。
II、代码里面,一定要包含注释,不为自己,也要为想修改你代码的别人想想。
III、尽量用最新版的 WordPress 进行开发和测试。
插件名称和插件结构
一般来说,都是在 wp-content\plugins 目录下建立一个文件夹,文件夹名就是插件的名称,我们插件名字为"copyright_plugin",文件结构如下。

\wp-content\plugins\copyright_plugin下有copyright_plugin.php和readme.txt
这里的 readme.txt 文件中包含了一些插件的介绍,使用说明等信息,主要是提交到 WordPress 官方网站时候用到的,可以参考他们给的模板 http://wordpress.org/extend/plugins/about/readme.txt,另外还有插件截图预览的功能,需要另外添加图片,但是我们现在是练习,不需要提交到官网,所以暂时先不涉及这些。
插件的核心
总的来说,插件的核心是两个 function,用来添加 Hooks(中文译为钩子)
add_action ($hookname, $callbackfunction)
add_filter ($hookname,$callbackfunction)
这两个方法相当重要,几乎所有的插件都要用到他们。
Actions,我理解就是 wordpress 核心代码预留的一些特殊的切入点,或者说是在执行一些特定事件时候发生,例如文章发布时,或者访客留言时触发。
Filters,应该就是 wordpress 执行时,对数据传输过程的一种过滤机制,例如当文章保存到数据库的过程,或者文章从事数据库中取出,展现到浏览器中的这个过程。
我们今天要制作的插件,应该是用 Filters,因为我们要在文章显示在浏览器之前,在最后面加上一段字符窜,用来显示版权信息,后面添加菜单项的时候,也要用到 Actions。
插件概要信息
用文本编辑器打开 copyright-plugin.php 文件,输入如下信息:

<?php  
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件将在文章正文最下面,显示一行版权信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
?> 

保存好文件,然后登录 WordPress 后台,打开插件菜单,应该就可以看到这个插件,已经显示在插件列表里面了,并且可以启用这个插件试试,不过没有任何效果,因为到目前为止,这个插件还没有实现任何功能。

为插件实现功能
修改copyright_plugin.php

<?php  
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件将在文章正文最下面,显示一行版权信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
 
/* 此插件将在文章正文最下面,显示一行版权信息 */ 
function display_copyright() {  
    return "<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>";  
}  
?> 

保存好这个文件,然后打开正在用的主题文件夹,打开index.php 文件夹,找到 get_template_part( 'content', get_post_format() ); 并在下面添加如下代码
if(function_exists('display_copyright')) {  
    echo display_copyright();  
}  

function_exists 是判断 display_copyright 函数是否存在,因为当插件停用的时候,主题代码里面是找不到这个函数的,所以要判断一下,防止出错。
然后在 wordpress 后台启用该插件,再打开首页看看效果吧!

至此,这段代码,应该可以勉强算是一个插件了。之所以说勉强,是因为这个插件存在一个问题,需要手工去修改主题代码,如果用户换了主题的话,需要在新主题里面再次修改代码,这个不好。
改良插件
还记得我们前面说过的 Hooks (钩子)吗,我们要开始用 Filter 钩子了!
代码修改copyright_plugin.php如下:

<?php  
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件将在文章正文最下面,显示一行版权信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
add_filter( 'the_content',  'display_copyright' );  
 
/* 这个函数在日志正文结尾处添加一段版权信息,并且只在 首页 页面才添加 */ 
function display_copyright( $content ) {  
    if( is_home() )  
        $content = $content . "<p style='color:red'>本站点所有文章均为原创,转载请指明出处!</p>";  
 
    return $content;  
}  
?> 

参看以上代码,其中 the_content 是钩子的名字,display_copyright 是回调函数名称。这样一来,只要启用插件就可以实现功能,无需去修改主题了,请把刚才在index.php 文件中添加的代码删掉,然后启用插件,看看效果吧,显示效果应该是一样的,无论怎么换主题,还是会自动显示版权信息。
is_home是判断是不是主页
更进一步
至此一个真正的插件算是完成了。但是此插件将版权信息直接写在代码里,如果用户想自定义版权信息的话,需要修改插件的源代码,仍然不方便,所以此插件仍需改进。其实,我们可以在 WordPress 后台中为插件单独添加一个菜单和页面,用户可以在这里来自定义设置设置版权信息,信息可以保存在数据库里面。
先附上完整代码,后面会做说明

<?php  
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件将在文章正文最下面,显示一行版权信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/

/* 注册激活插件时要调用的函数 */ 
register_activation_hook( __FILE__, 'display_copyright_install');   

/* 注册停用插件时要调用的函数 */ 
register_deactivation_hook( __FILE__, 'display_copyright_remove' );  

function display_copyright_install() {  
    /* 在数据库的 wp_options 表中添加一条记录,第二个参数为默认值 */ 
    add_option("display_copyright_text", "<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>", '', 'yes');  
}

function display_copyright_remove() {  
    /* 删除 wp_options 表中的对应记录 */ 
    delete_option('display_copyright_text');  
}

if( is_admin() ) {
    /*  利用 admin_menu 钩子,添加菜单 */
    add_action('admin_menu', 'display_copyright_menu');
}

function display_copyright_menu() {
    /* add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function);  */
    /* 页名称,菜单名称,访问级别,菜单别名,点击该菜单时的回调函数(用以显示设置页面) */
    add_options_page('Set Copyright', 'Copyright Menu', 'administrator','display_copyright', 'display_copyright_html_page');
}

function display_copyright_html_page() {
    ?>
    <div>  
        <h2>Set Copyright</h2>  
        <form method="post" action="options.php">  
            <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
            <?php wp_nonce_field('update-options'); ?>  
 
            <p>  
                <textarea  
                    name="display_copyright_text" 
                    id="display_copyright_text" 
                    cols="40" 
                    rows="6"><?php echo get_option('display_copyright_text'); ?></textarea>  
            </p>  
 
            <p>  
                <input type="hidden" name="action" value="update" />  
                <input type="hidden" name="page_options" value="display_copyright_text" />  
 
                <input type="submit" value="Save" class="button-primary" />  
            </p>  
        </form>  
    </div>  
<?php  
}  

add_filter( 'the_content',  'display_copyright' );  
 
/* 这个函数在日志正文结尾处添加一段版权信息,并且只在 首页 页面才添加 */ 
function display_copyright( $content ) {  
    if( is_home() )  
        $content = $content . get_option('display_copyright_text'); 
 
    return $content;  
}  
?> 

说明:
以下代码自己要是在启用插件时和停用插件时调用,注释中已经写得很详细了。

/* 注册激活插件时要调用的函数 */ 
register_activation_hook( __FILE__, 'display_copyright_install');   

/* 注册停用插件时要调用的函数 */ 
register_deactivation_hook( __FILE__, 'display_copyright_remove' );  

function display_copyright_install() {  
    /* 在数据库的 wp_options 表中添加一条记录,第二个参数为默认值 */ 
    add_option("display_copyright_text", "<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>", '', 'yes');  
}

function display_copyright_remove() {  
    /* 删除 wp_options 表中的对应记录 */ 
    delete_option('display_copyright_text');  
}

添加菜单和页面的代码如下:

if( is_admin() ) {
    /*  利用 admin_menu 钩子,添加菜单 */
    add_action('admin_menu', 'display_copyright_menu');
}

function display_copyright_menu() {
    /* add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function);  */
    /* 页名称,菜单名称,访问级别,菜单别名,点击该菜单时的回调函数(用以显示设置页面) */
    add_options_page('Set Copyright', 'Copyright Menu', 'administrator','display_copyright', 'display_copyright_html_page');
}

至此,已经可以在后台看到菜单项了,但是点击的话,还会出错,因为还没有添加对应的页面(如何自定义添加后台菜单位置)

下面开始添加页面,主要代码如下:

function display_copyright_html_page() {
    ?>
    <div>  
        <h2>Set Copyright</h2>  
        <form method="post" action="options.php">  
            <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
            <?php wp_nonce_field('update-options'); ?>  
 
            <p>  
                <textarea  
                    name="display_copyright_text" 
                    id="display_copyright_text" 
                    cols="40" 
                    rows="6"><?php echo get_option('display_copyright_text'); ?></textarea>  
            </p>  
 
            <p>  
                <input type="hidden" name="action" value="update" />  
                <input type="hidden" name="page_options" value="display_copyright_text" />  
 
                <input type="submit" value="Save" class="button-primary" />  
            </p>  
        </form>  
    </div>  
<?php  
}  

现在再去点击刚才新加的菜单,可以显示出来一个页面了,我们可以在这里设置版权信息文本。

另外还有如下代码要修改

/* 这个函数在日志正文结尾处添加一段版权信息,并且只在 首页 页面才添加 */ 
function display_copyright( $content ) {  
    if( is_home() )  
        $content = $content . get_option('display_copyright_text'); 
 
    return $content;  
}  

将原来的静态化文本,改成动态的,之所以要这么改,是因为我们已经将数据存到数据库里面了,这里要从数据库里面取出数据。

一个最简单wordpress插件写法

wordpress的最强大的一点就是框架很灵活, 主要是插件和主题的支持 , wp的插件可以说无所不能,甚至可以让你wp 博客摇身一变成为一个bbs, 比如bbpress, 或者摇身一变成为一个社交网站,比如buddypress, 当然这些都是很重量级的插件, 那么开发一个插件从哪里入手呢,看下面的的步骤

工具/原料

  • 文本编辑器

  • wordpress源码

  • 浏览器

  • apache mysql环境

步骤/方法

  1. 1

    首先安装wordpress环境,安装成功后访问如下

  2. 2

    在wp-content\plugins 目录下新建自己要创建的插件名称,这个名称需要是唯一的,如下图

  3. 3

    编辑mytest_helloword.php文件如下,可以看出来我们的插件的作用是修改文章中的Welcome为haha:

  4. 4

    查看wordpress后台,发现多了一个插件,然后我们点击active

  5. 5

    再来查看文章,发现插件生效了

    好了, 您的第一个插件开发完成了。

wordpress插件开发实例

WordPress插件开发实例教程 – 版权插件

说明:本教程仅限学习,高手请绕道

开发程序:WordPress 3.9-RC1

使用主题:Twenty Fourteen

在开始之前,需要注意三件事情

I、给插件取一个个性化的名字,越个性化越好,以防和其他插件重名冲突。

II、代码里面,一定要包含注释,不为自己,也要为想修改你代码的别人想想。

III、尽量用最新版的 WordPress 进行开发和测试。

插件名称和插件结构

一般来说,都是在 wp-content\plugins 目录下建立一个文件夹,文件夹名就是插件的名称,我们插件名字为”copyright_plugin”,文件结构如下。

 

\wp-content\plugins\copyright_plugin下有copyright_plugin.php和readme.txt

这里的 readme.txt 文件中包含了一些插件的介绍,使用说明等信息,主要是提交到 WordPress 官方网站时候用到的,可以参考他们给的模板 http://wordpress.org/extend/plugins/about/readme.txt,另外还有插件截图预览的功能,需要另外添加图片,但是我们现在是练习,不需要提交到官网,所以暂时先不涉及这些。

插件的核心

总的来说,插件的核心是两个 function,用来添加 Hooks(中文译为钩子)

add_action ($hookname, $callbackfunction)
add_filter ($hookname,$callbackfunction)

这两个方法相当重要,几乎所有的插件都要用到他们。

Actions,我理解就是 wordpress 核心代码预留的一些特殊的切入点,或者说是在执行一些特定事件时候发生,例如文章发布时,或者访客留言时触发。
Filters,应该就是 wordpress 执行时,对数据传输过程的一种过滤机制,例如当文章保存到数据库的过程,或者文章从事数据库中取出,展现到浏览器中的这个过程。

我们今天要制作的插件,应该是用 Filters,因为我们要在文章显示在浏览器之前,在最后面加上一段字符窜,用来显示版权信息,后面添加菜单项的时候,也要用到 Actions。

插件概要信息

用文本编辑器打开 copyright-plugin.php 文件,输入如下信息:

复制代码
<?php  
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件将在文章正文最下面,显示一行版权信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
?>
复制代码

保存好文件,然后登录 WordPress 后台,打开插件菜单,应该就可以看到这个插件,已经显示在插件列表里面了,并且可以启用这个插件试试,不过没有任何效果,因为到目前为止,这个插件还没有实现任何功能。

为插件实现功能

修改copyright_plugin.php

复制代码
<?php  
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件将在文章正文最下面,显示一行版权信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
 
/* 此插件将在文章正文最下面,显示一行版权信息 */ 
function display_copyright() {  
    return "<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>";  
}  
?>
复制代码

保存好这个文件,然后打开正在用的主题文件夹,打开index.php 文件夹,找到 get_template_part( ‘content’, get_post_format() );?并在下面添加如下代码

if(function_exists('display_copyright')) {  
    echo display_copyright();  
}  

function_exists 是判断 display_copyright 函数是否存在,因为当插件停用的时候,主题代码里面是找不到这个函数的,所以要判断一下,防止出错。

然后在 wordpress 后台启用该插件,再打开首页看看效果吧!

至此,这段代码,应该可以勉强算是一个插件了。之所以说勉强,是因为这个插件存在一个问题,需要手工去修改主题代码,如果用户换了主题的话,需要在新主题里面再次修改代码,这个不好。

改良插件

还记得我们前面说过的 Hooks (钩子)吗,我们要开始用 Filter 钩子了!

代码修改copyright_plugin.php如下:

复制代码
<?php  
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件将在文章正文最下面,显示一行版权信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/
add_filter( 'the_content',  'display_copyright' );  
 
/* 这个函数在日志正文结尾处添加一段版权信息,并且只在 首页 页面才添加 */ 
function display_copyright( $content ) {  
    if( is_home() )  
        $content = $content . "<p style='color:red'>本站点所有文章均为原创,转载请指明出处!</p>";  
 
    return $content;  
}  
?>
复制代码

参看以上代码,其中 the_content 是钩子的名字,display_copyright 是回调函数名称。这样一来,只要启用插件就可以实现功能,无需去修改主题了,请把刚才在index.php 文件中添加的代码删掉,然后启用插件,看看效果吧,显示效果应该是一样的,无论怎么换主题,还是会自动显示版权信息。

is_home是判断是不是主页

更进一步

至此一个真正的插件算是完成了。但是此插件将版权信息直接写在代码里,如果用户想自定义版权信息的话,需要修改插件的源代码,仍然不方便,所以此插件仍需改进。其实,我们可以在 WordPress 后台中为插件单独添加一个菜单和页面,用户可以在这里来自定义设置设置版权信息,信息可以保存在数据库里面。

先附上完整代码,后面会做说明

复制代码
<?php  
/*
Plugin Name: Copyright plugin
Plugin URI: http://www.xxxx.com/plugins/
Description: 此插件将在文章正文最下面,显示一行版权信息
Version: 1.0.0
Author: xcxc
Author URI: http://www.xxxx.com/
License: GPL
*/

/* 注册激活插件时要调用的函数 */ 
register_activation_hook( __FILE__, 'display_copyright_install');   

/* 注册停用插件时要调用的函数 */ 
register_deactivation_hook( __FILE__, 'display_copyright_remove' );  

function display_copyright_install() {  
    /* 在数据库的 wp_options 表中添加一条记录,第二个参数为默认值 */ 
    add_option("display_copyright_text", "<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>", '', 'yes');  
}

function display_copyright_remove() {  
    /* 删除 wp_options 表中的对应记录 */ 
    delete_option('display_copyright_text');  
}

if( is_admin() ) {
    /*  利用 admin_menu 钩子,添加菜单 */
    add_action('admin_menu', 'display_copyright_menu');
}

function display_copyright_menu() {
    /* add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function);  */
    /* 页名称,菜单名称,访问级别,菜单别名,点击该菜单时的回调函数(用以显示设置页面) */
    add_options_page('Set Copyright', 'Copyright Menu', 'administrator','display_copyright', 'display_copyright_html_page');
}

function display_copyright_html_page() {
    ?>
    <div>  
        <h2>Set Copyright</h2>  
        <form method="post" action="options.php">  
            <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
            <?php wp_nonce_field('update-options'); ?>  
 
            <p>  
                <textarea  
                    name="display_copyright_text" 
                    id="display_copyright_text" 
                    cols="40" 
                    rows="6"><?php echo get_option('display_copyright_text'); ?></textarea>  
            </p>  
 
            <p>  
                <input type="hidden" name="action" value="update" />  
                <input type="hidden" name="page_options" value="display_copyright_text" />  
 
                <input type="submit" value="Save" class="button-primary" />  
            </p>  
        </form>  
    </div>  
<?php  
}  

add_filter( 'the_content',  'display_copyright' );  
 
/* 这个函数在日志正文结尾处添加一段版权信息,并且只在 首页 页面才添加 */ 
function display_copyright( $content ) {  
    if( is_home() )  
        $content = $content . get_option('display_copyright_text'); 
 
    return $content;  
}  
?>
复制代码

说明:

以下代码自己要是在启用插件时和停用插件时调用,注释中已经写得很详细了。

复制代码
/* 注册激活插件时要调用的函数 */ 
register_activation_hook( __FILE__, 'display_copyright_install');   

/* 注册停用插件时要调用的函数 */ 
register_deactivation_hook( __FILE__, 'display_copyright_remove' );  

function display_copyright_install() {  
    /* 在数据库的 wp_options 表中添加一条记录,第二个参数为默认值 */ 
    add_option("display_copyright_text", "<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>", '', 'yes');  
}

function display_copyright_remove() {  
    /* 删除 wp_options 表中的对应记录 */ 
    delete_option('display_copyright_text');  
}
复制代码

 

添加菜单和页面的代码如下:

复制代码
if( is_admin() ) {
    /*  利用 admin_menu 钩子,添加菜单 */
    add_action('admin_menu', 'display_copyright_menu');
}

function display_copyright_menu() {
    /* add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function);  */
    /* 页名称,菜单名称,访问级别,菜单别名,点击该菜单时的回调函数(用以显示设置页面) */
    add_options_page('Set Copyright', 'Copyright Menu', 'administrator','display_copyright', 'display_copyright_html_page');
}
复制代码

至此,已经可以在后台看到菜单项了,但是点击的话,还会出错,因为还没有添加对应的页面(如何自定义添加后台菜单位置

下面开始添加页面,主要代码如下:

复制代码
function display_copyright_html_page() {
    ?>
    <div>  
        <h2>Set Copyright</h2>  
        <form method="post" action="options.php">  
            <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
            <?php wp_nonce_field('update-options'); ?>  
 
            <p>  
                <textarea  
                    name="display_copyright_text" 
                    id="display_copyright_text" 
                    cols="40" 
                    rows="6"><?php echo get_option('display_copyright_text'); ?></textarea>  
            </p>  
 
            <p>  
                <input type="hidden" name="action" value="update" />  
                <input type="hidden" name="page_options" value="display_copyright_text" />  
 
                <input type="submit" value="Save" class="button-primary" />  
            </p>  
        </form>  
    </div>  
<?php  
}
复制代码

现在再去点击刚才新加的菜单,可以显示出来一个页面了,我们可以在这里设置版权信息文本。

另外还有如下代码要修改

复制代码
/* 这个函数在日志正文结尾处添加一段版权信息,并且只在 首页 页面才添加 */ 
function display_copyright( $content ) {  
    if( is_home() )  
        $content = $content . get_option('display_copyright_text'); 
 
    return $content;  
}
复制代码

WordPress主题、插件汉化详细教程

最近做了不少的WP主题和插件的汉化,在这里做下总结。

这里是需要调用的到工具:

1.POEDIT

2.UltraEdit

这里以configure-smtp插件为例来做演示

一、普通汉化

首先将configure-smtp安装后进入插件设置界面可以看到全是英文,打开wp-content\plugins\configure-smtp目录

可以看到目录下有configure-smtp.pot文件,这个就是语言包的英文模板(可移植对象文件)了

1.将其复制一份到lang目录下并重命名为configure-smtp-zh_CN.po

2.使用POEDIT软件打开(POEDIT的设置就不做讲解了,百度一下你就知道)

打开后即可对原文本对照进行逐个翻译了。翻译完成后保存,这是会自动根据po文件生成同名的mo文件。mo文件就是WP调用的语言包。

3.翻译完成后需要设置加载,打开configure-smtp.php主文件,在其中加入如下代码

 

load_plugin_textdomain(‘configure-smtp’,’wp-content/plugins/configure-smtp/lang’);

/*

*说明:load_plugin_textdomain(‘插件名称’,’wp-content/plugins/configure-smtp/lang 插件语言包所在目录’);

*

*/

 

如果是其他的插件或者主题找到插件的主文件或者主题的function文件加入上面的代码。如果存在多个语言包会根据wp-config.php中设置的语言来加载。

4.这时候再打开后台就可以发现插件已经变成了中文。

二、添加条目

如果语言包中没有某些条目这时候可以手动添加例如插件更新升级添加了一些设置或者说明,没必要重新翻译语言包,只需要在现有的语言包中添加部分条目就可以了。

本人使用dreamweaver和记事本添加无效,只有使用UltraEdit。

1.使用UltraEdit打开.po文件手动添加条目

添加格式如下:

 

#: 条目所在文件:行数

msgid “条目内容”

msgstr “翻译”

 

说明:msgid必须和php文件中完全相同!

2.新添加了条目后再使用POEDIT打开,重新生成.mo文件。

这样所添加的内容就生效了,再打开后台就能看到已经汉化的内容。

3.如果后台有一些内容并没有使用关联,例如一些说明性的内容,也可以手动将其关联并使用上面的方法添加相应的条目来进行汉化。

例如:configure-smtp的configure-smtp.php中的一处

 

echo'<p><em>You must save any changes to the form above before attempting to send a test e-mail.</em></p>’;

//将其修改为:

echo'<p><em>’.__(‘You must save any changes to the form above before attempting to send a test e-mail.’,?$this->textdomain ).'</em></p>’;

 

po中添加条目为:

再重新生成mo这句话就被汉化了。

以上内容根据自己实际经验总结,希望能够对你有所帮助。