我可以使用直接URL调用自定义插件吗

时间:2012-10-11 作者:Charles Yeung

假设我写了一篇hello world 插件,主要功能是打印一个stinghello world.

我想打印出来hello world 当我访问URL时,喜欢http://example.com?plugin=helloworld

是否可以使hello world 当我访问特定的URL时,插件是否起作用?

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

最简单的方法是将查询变量添加到WordPress识别的查询变量列表中,并在模板重定向挂钩上检查新添加的查询变量,例如:

add_filter( \'query_vars\', \'se67095_add_query_vars\');

/**
*   Add the \'my_plugin\' query variable so WordPress
*   won\'t remove it.
*/
function se67095_add_query_vars($vars){
    $vars[] = "my_plugin";
    return $vars;
}

/**
*   check for  \'my_plugin\' query variable and do what you want if its there
*/
add_action(\'template_redirect\', \'se67905_my_template\');

function se67905_my_template($template) {
    global $wp_query;

    // If the \'my_plugin\' query var isn\'t appended to the URL,
    // don\'t do anything and return default
    if(!isset( $wp_query->query[\'my_plugin\'] ))
        return $template;

    // .. otherwise, 
    if($wp_query->query[\'my_plugin\'] == \'helloworld\'){
        echo "hello world";
        exit;
    }

    return $template;
}

结束

相关推荐