如何在Wordpress中使用插件机制制作页面接收器?

时间:2016-03-16 13:01:39

标签: php wordpress

我正在建立一个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;
}

2 个答案:

答案 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');