如何使用$_GET函数WordPress后端

时间:2019-03-18 作者:Pecado

我在我的项目中使用插件样板。我在网上搜索并阅读了所有的问题,但找不到我需要的东西。我还读了WordPress抄本。我想我没有这个想法。

我的页面上有两列。Col1和Col2

Inside col1: wp_list_table
Inside col2: empty
页面地址:admin.php?page=company#home

当我单击上的添加新按钮时wp_list_table, 地址栏显示admin.php?page=company#home&action=new

我想从url获取操作值。我尝试了以下代码:

function addnew_query_vars($vars) {
 $vars[] = \'action\';
 return $vars;
}
add_filter(\'query_vars\', \'add_query_vars_filter\');

echo $value = get_query_var(\'action\'); // Nothing happens
如何获得行动价值?如果可以得到该值,我将在col2中显示一个表单,或者在其他情况下使用switch语句。

<小时>UPDATE 1.1.0

Using get_current_screen

require_once(ABSPATH . \'wp-admin/includes/screen.php\');                     
$screen = get_current_screen();
echo $screen->action; // Null
我正在使用查询监视器插件。我查看了Admin Screen status get\\u current\\u Screen()操作为空。所以我需要回去。

在my WP\\u List\\u表格标题代码中,myAdd New 按钮代码如下:

<a href="<?php echo admin_url( \'admin.php?page=company#home&action=new\' );?>">
php _e( \'Add New\', \'ironhead\' )
</a>
我认为这个代码块不会发布操作。有set\\u current\\u screen()命令。但我没有解决如何设置管理屏幕操作属性。如果我可以使用它,我可以使用get\\u current\\u screen()。有人帮我吗?

ALL CODE

TAB PANE

<ul class="nav nav-tabs nav-pills tab-pane" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Company</a>
</li>
<li class="nav-item">
<a class="nav-link" id="facility-tab" data-toggle="tab" href="#facility"  role="tab" aria-controls="facility" aria-selected="false">Facility</a>
</li>
...
</ul>
require_once(ABSPATH . \'wp-admin/includes/screen.php\');                     
$screen = get_current_screen();
echo $screen->action; // Null
 提前感谢

3 个回复
SO网友:MikeNGarrett

在管理员中工作与WordPress站点的前端有很大不同。您可以在网上找到的大多数文档都只涉及前端。在寻找简单明了的东西时,这可能会令人沮丧。

在这种情况下,我想你会使用get_current_screen(). 这将返回屏幕的ID、操作、基础和管理页面的其他功能。

从codex开始get_current_screen():

此函数返回一个对象,该对象包括屏幕的ID、基、帖子类型和分类以及其他数据点

这在管理中并不适用,因此请确保您阅读了限制。

SO网友:Pecado

我不知道这是真是假,有一个使用表单元素和旧PHP知识的解决方案:)

FORM

<form role="form" method="post" action="admin.php?page=company#home">
<h4><?php _e( \'Firma Listesi\', \'ironhead\' ); ?>
<input id="action" name="action" hidden="" type="text" value="new">
<button id="new" name="action_new" class="add-new-h2"><?php _e( \'Add New\', \'ironhead\' ); ?></button></h4>
</form>

POST

echo @$_POST[\'action\'];
有什么真正的方法吗?

SO网友:K Kataria

@Pecado是的,$\\u POST[“操作”]将起作用。我在管理部分创建了一个页面,并使用表单提交和检索$\\u POST上的表单字段

相关推荐

WordPress插件php文件处理表单

我试图分析一个插件操作,有时我们会填写一个要处理的表单,但我不知道表单是由谁处理的,因为我有这种html表单,所以我想知道如何知道处理真正我的表单的最终php文件。 <form method=\"post\" action=\"<?php echo esc_url( admin_url( \'admin- post.php\' ) ); ?>\"> <input type=\"hidden\" name=\"action\" v