Поддержка Проблемы и решения Как правильно прописать ссылку в плагине через switch ?

  • Приветствую, уважаемые!

    Подскажите пожалуйста начинающему wp кодеру как правильно прописать ссылки в плагине через switch.

    Вот написал допустим вот такой код:

    <?php
    /*
    Plugin Name: primer
    Plugin URI: http://.....ru
    Description: Плагин для примера
    Author: vsyoprosto
    Version: 1
    Author URI: http://....ru
    */
    
    function fun1(){
      echo "<br><center><b>[ <a href=\"?page_id=62&uid=fun1\">СТР 1</a>  | <a href=\"?page_id=62&uid=fun2\">СТР 2</a> | <a href=\"?page_id=62&uid=fun3\">СТР 3</a> ]</b></center><br>";
      echo "<h1>здесь первая страница плагина</h1>";
    }
    
    function fun2($go) {
      echo "<br><center><b>[ <a href=\"?page_id=62&go=fun1\">СТР 1</a>  | <a href=\"?page_id=62&go=fun2\">СТР 2</a> | <a href=\"?page_id=62&go=fun3\">СТР 3</a> ]</b></center><br>";
      echo "<h1>здесь вторая страница плагина</h1>";
    }
    
    function fun3($go) {
      echo "<br><center><b>[ <a href=\"?page_id=62&go=fun1\">СТР 1</a>  | <a href=\"?page_id=62&go=fun2\">СТР 2</a> | <a href=\"?page_id=62&go=fun3\">СТР 3</a> ]</b></center><br>";
      echo "<h1>Здесь третья страница плагина</h1>";
    }
    
    function fun4($uid){
    
        switch($uid) {
    
        default:
        fun1();
        break;
    
        case "fun2":
        fun2();
        break;
    
        case "fun3":
        fun3();
        break;
        }
    
    }  
    
    return add_shortcode ('primer', 'fun4');
    
    ?>

    Т.е при выводе на страницах switch срабатывает, в зависемости что прописано в default , то то выводится,

    а вот если начинаешь жать на ссылке, то url странице меняется как и прописано т.е вот такого вида http://xxxxxxxx.ru/?page_id=62&uid=fun2
    Но не меняется содержимое функций,
    т.е как было написано — здесь первая страница плагина, так она и остаётся, а должно быть — здесь вторая страница плагина.

    Как всё таки правильно прописать?

    <a href=\"?page_id=62&uid=fun1\">СТР 1</a>
    <a href=\"?page_id=62&uid=fun2\">СТР 2</a>
    <a href=\"?page_id=62&uid=fun3\">СТР 3</a>

    Или как правильно?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Вы добавляете функцию — обработчик шорткода, которой в качестве параметра передаются атрибуты шорткода, а проверку делаете на предполагаемое значение get-параметра. Вот потому и default.

    Чет ничего не выходит у меня с этим кодом 🙁
    убрал $uid, тоже самое.

    p/s/ админы, уберите ссылку в предыдущем посте, а то я не могу убрать. Случайным образом попал на сторонний действующий сайт. 🙂

    Решение нашел, не было времени написать.
    Помогают вот такие конструкции:

    $go = $_GET['go'];
    $uid = $_GET['uid'];

    Навигация в плагине заработала

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Как правильно прописать ссылку в плагине через switch ?» закрыта для новых ответов.