首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Wordpress中使用插件机制制作一个页面接收器?

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

Stack Overflow用户
提问于 2016-03-16 21:01:39
回答 2查看 35关注 0票数 1

我正在构建一个wordpress插件,这是我的shortcode,我想在我的帖子中使用[phx amount="20" color="green"]来呈现一个锚点链接,点击这个链接就可以转到一个可以接收get参数并做一些事情的页面。我已经制作了shortcode,但是如何使用插件机制来制作这样的页面呢?

代码语言:javascript
复制
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;
}
EN

回答 2

Stack Overflow用户

发布于 2016-03-16 22:29:38

你的代码可以很容易地嵌入到自定义插件中。您所需要做的就是put a header on top of the file,将您的自定义插件放入站点的wp-content/plugins文件夹中,并在您登录时启用它。然后该功能将可用于您的可湿性粉剂网站。

下面是一个带有子标题的示例标题,我希望这样做可以增强代码的可读性(注意:子标题不是必需的,但主标题是必需的):

代码语言:javascript
复制
/*
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;
}
票数 0
EN

Stack Overflow用户

发布于 2016-03-16 23:19:00

您将需要使用query_vars filter向WordPress注册查询变量。

完成后,您可以使用get_query_var()检索它们。

在您的主题(functions.php)或插件中:

代码语言:javascript
复制
function my_custom_query_vars_filter($vars) {
    $vars[] = 'amount';
    $vars[] .= 'color';
    return $vars;
}
add_filter( 'query_vars', 'my_custom_query_vars_filter' );

在模板文件中或其他位置:

代码语言:javascript
复制
$color = get_query_var('color');

$amount = get_query_var('amount');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36036477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档