mike
  • 0
Гуру

Добавить строку запроса к URL плагина

  • 0

Я создаю плагин, который находится по адресу http://localhost/test/wp-admin/options-general.php?page=my-plugin.

Я пытаюсь добавить строку запроса на эту страницу, чтобы ее можно было использовать в моем плагине, таком как http://localhost/test/wp-admin/options-general.php?page=my-plugin?myVar=cool.

Проблема в том, что это побуждает WordPress отображать сообщение «У вас недостаточно прав для доступа к этой странице». страница.

Как я могу добавить строку запроса к URL моего плагина? Это где-то задокументировано?

Спасибо за помощь.

Share
  1. Неважно, я только что еще раз взглянул на URL-адрес, и похоже, что строка запроса уже запущена, поэтому ответ — localhost/test/wp-admin/ … УОПЫ!

    • 0
  2. Если вы не знаете, была ли запущена строка запроса или нет, вы можете использовать add_query_arg, который знает, как с этим справиться, и добавляет метки » ? » или » & » (в зависимости от того, что необходимо) к строке запроса.

    Обновлять

    По многочисленным просьбам добавляю несколько примеров из кодекса:

    Используя get_permalink:

    Поскольку get_permalink() возвращает полный URL-адрес, вы можете использовать его, когда хотите добавить переменные на страницу сообщения.

    //  This would output whatever the URL to post ID 9 is, with 'hello=there' appended with either ? or &, depending on what's needed
    echo add_query_arg( 'hello', 'there', get_permalink(9) );
    

    более общий:

    Предполагая, что мы находимся по URL-адресу WordPress"http://blog.example.com/client/?s=word"...

    //  This would output '/client/?s=word&foo=bar'
    echo add_query_arg( 'foo', 'bar' );
    
    //  This would output '/client/?s=word&foo=bar&baz=tiny'
    $arr_params = array ( 'foo' => 'bar', 'baz' => 'tiny' );
    echo add_query_arg( $arr_params );
    

    Или для использования с любой имеющейся у вас ссылкой вы можете передать ссылку uri:

    //say your link is: http://wordpress.stackexchange.com/questions/14827/
    //then use:
    
    echo add_query_arg( 'hello', 'world','http://wordpress.stackexchange.com/questions/14827/');
    

    получитьhttp://wordpress.stackexchange.com/questions/14827/?hello=world

    Пример URL страницы плагина с дополнительными аргументами запроса:

    $query_args = array( 'page' => 'your-plugin-page', 'foo' => 'bar' );
    echo add_query_arg( $query_args, admin_url( '/options-general.php' ) )
    
    // outputs
    // http://example.com/wp-admin/options-general.php?page=your-plugin-page&foo=bar
    
    • 0

Оставить ответ

You must login to add an answer.