在仪表板小部件中显示基于表单W/的用户输入的URL

时间:2012-02-20 作者:Jared Sulzdorf

第一个问题和第一个商业插件。呜呜!

我正在尝试创建一个仪表板小部件,它利用用户输入和预定义的URL结构来创建一个出站链接,将用户发送到他/她想要的目的地。这基本上是一种黑客行为,目的是让博客网络上的用户可以查询另一个Wordpress网站,该网站保存了该网络中博主的所有内容。因此,如果用户输入“漂亮猫”并单击搜索按钮,就会出现一个链接,将用户带到聚合网站的搜索页面,即。http://wordpressag.com/?s=pretty+cats

到目前为止,我已经创建了仪表板小部件,并显示了一个文本字段和“搜索”按钮,但我对基于用户输入创建链接所需的其他功能感到困惑。用户输入的变量是$wpag\\u search,因此所需的URL结构类似于http://wordpressag.com?s=($wpag\\u search),仅使用用户输入而不是变量。

这是我的建议,有什么建议吗?

// Function for displaying text input fields and search button 

function wpag_search_forms() {
    ?>
    <input id="search_terms" type="text" size="50" name="wpag_search" value="<?php echo esc_attr($wpag_search);?>" />
    <input id="search_button" type="button" value="Search WPAG" class="button-secondary"/>
    <?php
} 

//Other function for utilizing user input
//Has to follow http://wordpressag.com/?s=(user input) structure

// Create the function use in the action hook

function wpag_plugin_init () {
    wp_add_dashboard_widget(\'example_dashboard_widget\', \'Search The WP Ag Network\', \'wpag_search_forms\');   
} 

// Hook into the \'wp_dashboard_setup\' action to register our other functions

add_action(\'wp_dashboard_setup\', \'wpag_plugin_init\' );

?>

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

如果将表单的操作设置为要进行处理的页面,它将重定向到该页面,并设置所有$_GET$_POST 变量设置,便于访问。

SO网友:Stephen Harris

你想要的add_query_arg.

例如

$url = "http://wordpressag.com"; //base url
$wpag_search = urlencode(\'myinput\'); //replace \'myinput\' with user input.
$url = add_query_arg(\'s\',$wpag_search,$url);
//$url is now http://wordpressag.com?s=myinput
Note: add_query_arg 期望输入值为encoded, 看见urlencode

结束

相关推荐

__FILE__ in WordPress plugins

我正在使用Sidebar Generator 在我所有的主题中。该插件在“plugins”目录下正常工作,但我想以某种方式将其嵌入到我的主题中,因此它不会显示在已安装的插件列表中。我刚刚复制了sidebar\\u生成器。php(幸运的是,整个代码都在一个文件中)到mytheme/插件,并将其包含在函数中。phprequire_once (MY_PLUGINS . \'/sidebar_generator.php\'); 现在,它适用于所有其他插件,但不适用于这个插件!这样,当我点击“侧栏”时