Wordpress、bbPress 和 iOS 方案 URL
Wordpress, bbPress and iOS scheme URL
我目前正在开发一个 iOS 应用程序以及一个带有 bbPress 插件的 Wordpress 网站。
我想允许任何用户在论坛中轻松地 post links 使用自定义方案,例如:
myappname://badebidobudy/fdjlkqsfj
我看到在 bbPress 中管理员确实可以 post 像这样 link :
<a href="myappname://badebidobudy/fdjlkqsfj">Da link</a>
bbPress 告诉我原因:
Your account has the ability to post unrestricted HTML content.
但是当匿名用户想要这样做时,自定义方案被删除并且生成的 html 代码是:
<a href="//badebidobudy/fdjlkqsfj">Da link</a>
所以我的问题是:如何配置(或调整)Wordpress 以至少接受我的 url 方案,甚至识别带有自定义方案的原始 link?
阅读评论后:https://developer.wordpress.org/reference/functions/esc_url/
我完成了一个小插件的实现,这是它的php代码(我添加的协议是"newzik"):
<?php
/**
* Plugin Name: NZK links support
* Plugin URI: http://newzik.com/
* Description: Adds support to newzik:// links
* Version: 1.0
* Author: Pierre Mardon
* Author URI: http://newzik.com/
* License: None
*/
/**
* Extend list of allowed protocols.
*
* @param array $protocols List of default protocols allowed by WordPress.
*
* @return array $protocols Updated list including new protocols.
*/
function wporg_extend_allowed_protocols( $protocols ){
$protocols[] = 'newzik';
return $protocols;
}
add_filter( 'kses_allowed_protocols' , 'wporg_extend_allowed_protocols' );
?>
我目前正在开发一个 iOS 应用程序以及一个带有 bbPress 插件的 Wordpress 网站。
我想允许任何用户在论坛中轻松地 post links 使用自定义方案,例如:
myappname://badebidobudy/fdjlkqsfj
我看到在 bbPress 中管理员确实可以 post 像这样 link :
<a href="myappname://badebidobudy/fdjlkqsfj">Da link</a>
bbPress 告诉我原因:
Your account has the ability to post unrestricted HTML content.
但是当匿名用户想要这样做时,自定义方案被删除并且生成的 html 代码是:
<a href="//badebidobudy/fdjlkqsfj">Da link</a>
所以我的问题是:如何配置(或调整)Wordpress 以至少接受我的 url 方案,甚至识别带有自定义方案的原始 link?
阅读评论后:https://developer.wordpress.org/reference/functions/esc_url/
我完成了一个小插件的实现,这是它的php代码(我添加的协议是"newzik"):
<?php
/**
* Plugin Name: NZK links support
* Plugin URI: http://newzik.com/
* Description: Adds support to newzik:// links
* Version: 1.0
* Author: Pierre Mardon
* Author URI: http://newzik.com/
* License: None
*/
/**
* Extend list of allowed protocols.
*
* @param array $protocols List of default protocols allowed by WordPress.
*
* @return array $protocols Updated list including new protocols.
*/
function wporg_extend_allowed_protocols( $protocols ){
$protocols[] = 'newzik';
return $protocols;
}
add_filter( 'kses_allowed_protocols' , 'wporg_extend_allowed_protocols' );
?>