如何使用WordPress自带的ICP备案设置项

如题所述

1.在Wordpress引以为傲的“自动更新”(如果是从3.7版本更新上来的话,因为不会更新配置文件的关系)的优势下竟然没有将ICP这个设置默认打开,以至于很多人都会将此功能忽略,浪费了开发者们的一片心血。故而,首先,我们得手动用代码打开这个功能:
1.1 找到wordpress下的基本配置文件(一般来说是:根目录下的wp-config.php,当然也有可能在其他位置,以实际为主),打开这个配置文件
1.2 将以下代码复制到这个打开的配置文件中,并保存、上传到网站空间

1
2

//ICP备案设置:
define('WP_ZH_CN_ICP_NUM', true);

2. 打开wordpress后台=>设置=>常规,然后填写你自己的ICP备案信息
3.根据此刻你的网站所用的语言到wp-content/languages/下面找到相关语言的php文件,比如,我的网站是中文的,那么我会找到wp-content/languages/zh_CN.php,打开这个文件,拉到最下面,我们会看到这里有内置的获取ICP设置下的ICP信息的函数:
3.1 其中,函数zh_cn_l10n_settings_init是注册使用ICP备案设置功能,而函数zh_cn_l10n_icp_num_callback是在使用ICP备案设置功能输入框下看到的那一行“仅对WordPress自带主题有效。”,另,函数zh_cn_l10n_icp_num才是我们真正在主题输出时需要使用的函数
3.2 在wordpress中想要一个主题享受一个函数功能,还需要通过add_action这个方法,第一个参数为“行为名字(随便取,便于辨识即可)”,第二个参数为“动作函数,即产生效果的函数”(在这个调用ICP信息的功能中,这个参数很容易就知道的:zh_cn_l10n_icp_num)
3.3 看完以上这三个函数和基础知识,接下来看看,这个文件中,将zh_cn_l10n_icp_num这个函数的使用都授权给了哪几个主题:

1
2
3
4

add_action( 'twentyten_credits', 'zh_cn_l10n_icp_num' ); //twenty ten主题使用权 - 页面文件通过do_action( 'twentyten_credits' ); 调用函数输出ICP信息
add_action( 'twentyeleven_credits', 'zh_cn_l10n_icp_num' ); //twenty eleven主题使用权 - 页面文件通过do_action( 'twentyeleven_credits' ); 调用函数输出ICP信息
add_action( 'twentytwelve_credits', 'zh_cn_l10n_icp_num' );//twenty twelve主题使用权 - 页面文件通过do_action( 'twentytwelve_credits' ); 调用函数输出ICP信息
add_action( 'twentythirteen_credits', 'zh_cn_l10n_icp_num' );//twenty thirteen主题使用权 - 页面文件通过do_action( 'twentythirteen_credits' ); 调用函数输出ICP信息

3.4 由上看出(注释里我也写清楚了),我们只要在这里给自己的主题也授权一下,就可以在页面上输出使用了:

1

add_action( 'greenheart_credits', 'zh_cn_l10n_icp_num' );

3.5 保存zh_CN.php文件,上传网站空间
4. 既然已经在内部授权,那么就可以在页面上使用 — 找到footer.php这个文件,然后将下面的代码COPY进去即可,然后你就可以在页面上看到有链接的ICP备案信息了:

1

do_action( 'greenheart_credits' );

使用方法就介绍到这里,我想同时也解决了网上一些朋友所问的:为什么在后台打开了ICP备案信息并填写成功后,主题twenty fourteen也没有在页面输出信息,但是这个主题是属于wordpress的内置主题的,同时页面代码中存在以下代码?

1
2
3
4
5
6

do_action( 'twentyfourteen_credits' );
<pre>

答案很简单:就是在wp-content/languages/zh_CN.php这个文件中只授权了twenty ten等主题,却忘了授权给主题twenty fourteen,所以,根据页面上调用的信息名字,我们要在wp-content/languages/zh_CN.php这个文件的最后加上以下代码即可实现功能:
<pre>
add_action( 'twentyfourteen_credits', 'zh_cn_l10n_icp_num' );

同时,这里也解释了为什么在ICP备案设置项下面会出现“仅对WordPress自带主题有效。”这句话,因为非wordpress的主题是没有授权这个功能的。
使用Wordpress内置ICP设置功能的好处:
既然框架中有这个功能存在,又何必要浪费代码量来重写一次呢,而且我觉得能贴合框架本身会更安全一些。
注意,本文缺陷:因未在升级这个操作后进行测试,并且本人暂时不了解升级会不会更新这个文件,所以无法判断这个方法的永久性,如果需要自己制作的主题对该功能保持永久性,请将zh_cn_l10n_icp_num函数中的内容复制到主题的functions.php中并连接该功能。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-01
管理员后台应当有设置说明的。。
相似回答