Поддержка Разное Как применить функцию только для текущего пользователя по нажатию кнопки?

  • Как применить функцию только для текущего пользователя по нажатию кнопки?
    Здравствуйте я новичок в среде worpress и у меня опять возник вопрос
    Как применить функцию(хук add_filter) к пользователю который нажал на кнопку? но
    только к нему а на всех остальных функция распространятся не должна

    Я смог соорудить вот такой код

    <?php
    add_shortcode ('T1','A2');
     function A2(){ 
    $X0 = plugin_dir_url( __FILE__ );  
    $X1= '<form method="POST" action="';
    $X2= '4.php" enctype="multipart/form-data"  ">
       <p>Выберите фильтр</p>
       <p><input  type="radio" name="p1" id="n1" value="1"> Фильтр 1</p>
       <p><input  type="radio" name="p1" id="n2" value="2"> Фильтр 2</p>
       <p><input  type="radio" name="p1" id="n3" value="3"> Фильтр 3</p>
       <p><input type="submit" value="Обновить"></p>';
    $X3 = $X1.$X0.$X2;
    	return $X3 ;
    	}
    ?>

    4.php

    <?php
    $I1 = $_POST ['p1'];
    if  ($I1 == '1')
    {
    echo  'Mir' ;
    } 
    else if ($I1 == '2')
    {
    function V2($the_content){
    return "lol";
    }
    add_filter('the_content', 'V2');
    } 
    else if ($I1 == '3')
    {
    add_filter('pre_get_posts','exc_post'); 
    function exc_post($query) {
    if ($query->is_category || ($query->is_home || ($query->is_feed) || ($query->is_tag)))  
    {
    $query->set('tax_query', array(  
    array(
    'taxonomy' => 'post_tag',
    'field' => 'slug',
    'terms' => array("blue","red"),  
    'operator' => 'NOT IN'
    )
    ));
    }
    return $query;
    }
    } 
    else 
    {
    }
    ?>
    

    но к сожалению после нажатия на кнопку фильтр 2,3

    мне выдает следующую ошибку

    Fatal error: Uncaught Error: Call to undefined function add_filter() in C:\xampp\htdocs\wor\wp-content\plugins\GOG6\4.php:24 Stack trace: #0 {main} thrown in C:\xampp\htdocs\wor\wp-content\plugins\GOG6\4.php on line 24

    кто-то знает как решить эту проблему
    подскажите пожалуйста

    • Тема изменена 5 лет, 6 месяцев назад пользователем zeni1agent. Причина: орфограйфия

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Yui

    (@fierevere)

    永子

    у вас 4.php вызывается сам по себе?

    для применения в нем функций WP — загрузите ядро WP

    require_once('../../../wp-load.php');
    путь подправьте, если что )

    Ошибка исчезла но функция не применилась
    либо применилась но после перехода(обновления) на страницу сбросилась.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Как применить функцию только для текущего пользователя по нажатию кнопки?» закрыта для новых ответов.