wordpress plugin redirect from page to page permis

2019-09-16 06:00发布

问题:

im working on statestic wordpress plugin that allow the admin to get all the contributions of every contributor on the site daily, monthly .. etc, it have 3 pages, one contain a search button to search for username, the second page will contain the results of the name searched in first page, the 3rd page will contain a detailed report on every contribution durging a laps of time i have create my plugin this way inside the plugin folder there is: index.php

<?php
/**
* Plugin Name: wathefty
* Plugin URI: aaaaa
* Description:aaaaaaa .
* Version: aaaaa
* Author: aaaaa
* Author URI: aaaaa
**/

function wathefty_admin_actions() {
    add_menu_page('wathefty stat Display', 'wathefty', 'manage_options', 'wathefty-stat-Display','wathefty_stat_Display');

}

function wathefty_stat_Display(){include('includes/wathefty-stat-Display.php');
}
add_action('admin_menu', 'wathefty_admin_actions');



?>

style/style.css includes/whatefty-stat-display.php

<form action="admin.php?page=stats" method="post" >
<fieldset class="fieldset">
<legend class="legend">Search</legend>
<label class="label">Search by author name:</label>
<input class="input" type="text" name="click" />
<button class="button1" name="Submit" type="submit">Submit</button>
</fieldset>
</form>

includes/stats.php

<table class="table">
<thead class="thead">
<tr class="tr">
<td class="td" rowspan="2">Post author</td>
<td class="td" rowspan="2">Author category</td>
<td class="td" colspan="4">Number of posts</td>
</tr>
<tr class="tr">
<td class="td">Daily</td>
<td class="td">Weekly</td>
<td class="td">Monthly</td>
<td class="td">Yearly</td>
</tr>
</thead>
<tbody class="tbody">
<tr class="tbody">
<td class="td">wathefty</td>
<td class="td">admin</td>
<td class="td"><a href="#">10</a></td>
<td class="td"><a href="#">42</a></td>
<td class="td"><a href="#">321</a></td>
<td class="td"><a href="#">1485</a></td>
</tr>
</tbody>
</table>

includes/contributions.php

for now i didnt create function to do the job, my only problem is that when i click on submit to be redirected to stats page i get this error

wordpress You do not have sufficient permissions to access this page.

回答1:

You don't have registered stats page in admin_pages.

Solution

Adjust your code in includes/whatefty-stat-display.php to something like this:

<?php 
if( isset( $_POST['wathefty_submit'] ) ) {
  include( dirname(__FILE__) . '/stats.php' );
}
?>

<form method="post" >
<fieldset class="fieldset">
<legend class="legend">Search</legend>
<label class="label">Search by author name:</label>
<input class="input" type="text" name="click" />
<button class="button1" name="wathefty_submit" type="submit">Submit</button>
</fieldset>
</form>

The main changes are in:

  • removing action attribute from <form>
  • including results (stats) page in same php file, in case there is $_POST['wathefty_submit'] set

Note that name attribute of submit button was changed.

Optionally, you could enclose the form in else branch, so the form wouldn't be displayed on stats page.

Alternative Solution

Alternative solution could be adding another menu page with add_menu_page function and including the second file there, but it doesn't seems to me right to have one menu page registered for form and other for results.



回答2:

look at the values in the wp_usermeta table as follows:

wp_capabilities should be a:1:{s:13:"administrator";s:1:"1";}

wp_user_level should be 10

it will fixed the problem if wont could you please give the link which you used to open your plugin panel >



标签: php wordpress