我正在建立一个wordpress插件,这是我的shortcode
,我想在我的帖子中使用[phx amount="20" color="green"]
来渲染一个锚点链接,点击它会指向一个可以接收的页面get
参数并做一些事情。我已经制作了shortcode
,但是如何使用插件机制创建这样的页面?
add_shortcode( 'phx', array( $this, 'phx_shortcode' ) );
function phx_shortcode( $attrs ) {
$html = '';
$customized_atts = shortcode_atts( array(
'amount' => '10',
'color' => 'green',
), $attrs, 'phx');
$html .= "<a href='http://wordpress.dev?".
"amount={$customized_atts['amount']}'>Pay</a>";
return $html;
}
答案 0 :(得分:0)
您的代码很容易插入自定义插件。您需要做的就是put a header on top of the file,将自定义插件放入您网站的wp-content/plugins
文件夹,并在登录时启用它。然后,该功能将可用于您的WP站点。
这是一个带有子标题的示例标题,我喜欢这样做以增强代码的可读性(注意:子标题不是必需的,但主标题是):
/*
Plugin Name: My Custom Plugin
Plugin URI: http://www.example.com/
Description: What my plugin does
Version: 0.1.0
Author: Phoenix
Author URI: http://example.co
License: CC Attribution-ShareAlike License
License URI: https://creativecommons.org/licenses/by-sa/4.0/
*/
/*
##################################
########### Shortcodes ###########
##################################
Explain in particular what this function does here.
*/
add_shortcode( 'phx', array( $this, 'phx_shortcode' ) );
function phx_shortcode( $attrs ) {
$html = '';
$customized_atts = shortcode_atts( array(
'amount' => '10',
'color' => 'green',
), $attrs, 'phx');
$html .= "<a href='http://wordpress.dev?".
"amount={$customized_atts['amount']}'>Pay</a>";
return $html;
}
答案 1 :(得分:0)
您将需要使用query_vars
filter向WordPress注册查询变量。
完成后,您可以使用get_query_var()
检索它们。
在您的主题(functions.php
)或插件中:
function my_custom_query_vars_filter($vars) {
$vars[] = 'amount';
$vars[] .= 'color';
return $vars;
}
add_filter( 'query_vars', 'my_custom_query_vars_filter' );
在模板文件或其他地方:
$color = get_query_var('color');
$amount = get_query_var('amount');