WP酷 WP酷
  • 主题
  • 教程
  • 插件
  • 官方 QQ 群
  • 建站推荐
  • 联系
  • nicetheme® 奈思主题
  • 注册
    登录
立即登录
  • 请到 [后台->外观->菜单] 中设置菜单
首页 › WordPress 教程 › 关闭 WordPress 4.4 新功能 – 禁用 REST API 及 Embeds

关闭 WordPress 4.4 新功能 – 禁用 REST API 及 Embeds

PCDotFan7年前

4.4 的两大特性反正在下是超级喜欢,REST API 让 WordPress 可以快捷地在移动端开发衍生产品或与其他项目融合;Embeds 加强了网站与网站之间的互通性。当然这只是一家之言,对于大多数博主来说还是显得多余些了……随手记录下禁用方法,希望对你有帮助。

 

禁用 REST API 及去除相应链接

方法一:使请求http://www.example.com/wp-json/ 后返回错误代码{“code”:”rest_disabled”,”message”:”The REST API is disabled on this site.”}

add_filter('rest_enabled', '_return_false');
add_filter('rest_jsonp_enabled', '_return_false');

方法二:彻底关闭

remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );

 

禁用 Embeds – 官方插件 Disable Embeds

与之前被去除的 「链接」 功能一样,WordPress 官方已经为我们铺好后路——直接安装启用即可,或是将下列代码加入 Functions.php:

function disable_embeds_init() {
	/* @var WP $wp */
	global $wp;

	// Remove the embed query var.
	$wp->public_query_vars = array_diff( $wp->public_query_vars, array(
		'embed',
	) );

	// Remove the REST API endpoint.
	remove_action( 'rest_api_init', 'wp_oembed_register_route' );

	// Turn off oEmbed auto discovery.
	add_filter( 'embed_oembed_discover', '__return_false' );

	// Don't filter oEmbed results.
	remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );

	// Remove oEmbed discovery links.
	remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );

	// Remove oEmbed-specific JavaScript from the front-end and back-end.
	remove_action( 'wp_head', 'wp_oembed_add_host_js' );
	add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' );

	// Remove all embeds rewrite rules.
	add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
}

add_action( 'init', 'disable_embeds_init', 9999 );

/**
 * Removes the 'wpembed' TinyMCE plugin.
 *
 * @since 1.0.0
 *
 * @param array $plugins List of TinyMCE plugins.
 * @return array The modified list.
 */
function disable_embeds_tiny_mce_plugin( $plugins ) {
	return array_diff( $plugins, array( 'wpembed' ) );
}

/**
 * Remove all rewrite rules related to embeds.
 *
 * @since 1.2.0
 *
 * @param array $rules WordPress rewrite rules.
 * @return array Rewrite rules without embeds rules.
 */
function disable_embeds_rewrites( $rules ) {
	foreach ( $rules as $rule => $rewrite ) {
		if ( false !== strpos( $rewrite, 'embed=true' ) ) {
			unset( $rules[ $rule ] );
		}
	}

	return $rules;
}

/**
 * Remove embeds rewrite rules on plugin activation.
 *
 * @since 1.2.0
 */
function disable_embeds_remove_rewrite_rules() {
	add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
	flush_rewrite_rules();
}

register_activation_hook( __FILE__, 'disable_embeds_remove_rewrite_rules' );

/**
 * Flush rewrite rules on plugin deactivation.
 *
 * @since 1.2.0
 */
function disable_embeds_flush_rewrite_rules() {
	remove_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
	flush_rewrite_rules();
}

register_deactivation_hook( __FILE__, 'disable_embeds_flush_rewrite_rules' );

在此插件中意外地发现了composer.json ,是否预示着 WordPress 今后将有大变动?拭目以待。

#links#WordPress#错误
6
分享

本站下载管理系统「dl.mywpku.com」因年久失修而永久关闭。若需获得往年主题,请至 WP酷的百度网盘(提取码: 5rbm) 自行搜索下载。默认解压密码为「www.mywpku.com」。

对您造成的不便,敬请谅解!

PCDotFan 站长
文章 435评论 859
相关文章
  • [6.0 更新中文汉化]极度流行的SEO插件 – WordPress SEO by Yoast
  • WordPress 新用户注册邮件链接提示「您的密码重设链接无效」
  • AMP – 为 WordPress 移动站点操作全球访问优化
  • 去除谷歌服务 – WordPress 国外主题全方位加速
  • 使用 WP-CLI 简化 WordPress 操作流程
  • WordPress 基础开发 – 一探 WordPress Hook 机制及示例应用
  • 优化静态资源 – WordPress 国外主题全方位加速
  • WordPress 实现微信登录
评论 (10)
再想想
  • 亦双

    强烈支持,博主万岁!

    7年前
    • 滑羊凌兰

      @亦双 [叹气] 总结得太好了!大长见识!

      7年前
    • 电子商务

      @亦双 [叹气] 总结得太好了!大长见识!

      7年前
  • 赖伟峰

    请问博主,不禁用会有影响吗?

    7年前
  • 一毛老师原创网赚

    请问博主,不禁用会有影响吗?

    7年前
  • 盒子

    wordpress的确要有大改动了,要用nodejs重写了,所以以后开wordpress要nodejs和php混合环境了

    7年前
  • T-T

    加强了网站与网站之间的互通

    7年前
  • 盒子

    是nodejs……wordpress官方已经说话了

    7年前
  • 漫步梦路

    老山羊看见长脖鹿,眼睛像长了针似的,盯在她身上就不动了。长脖鹿害怕了,吓的扭身就跑。老山羊就在后面追。长脖鹿在一个山角下跑不动了,望着老山羊哆嗦不停。老山羊说:你跑什么啊,我就是想问问,你的祛毛膏在那里买的?

    7年前
  • 敖天羽

    以后能用composer安装就皆大欢喜了

    7年前
PCDotFan
站长
若无特别注明,则默认我发布的所有文章均为内容原创 / 翻译原创,转载时请保留来源。
435文章
859评论
3K获赞
猜你喜欢
Uazoh7 – 精美Bootstrap主红色调WordPress企业主题
8年前
[Nginx] 搜索引擎不支持收录 https 网页以及 XP 系统不支持 SNI 的解决办法
6年前
[包养]AirUnicom 为10位优秀博主长期免费提供托管服务
8年前
  • 杂记
  • WordPress 付费主题推荐
Copyright © 2023 WP酷. Designed by nicetheme. 琼ICP备13002067号-1