Articles of oop

Как add_action и WP_Query

Я новичок в WP, полу-новый для PHP и новый для ООП. 1) Как функция add_action WP может использовать другую функцию в качестве аргумента? Я знаю, что это само по себе невозможно. Я намеренно сломал код и обнаружил, что на самом деле есть собственная php-функция call_user_fun_array , но как они сделали это так, чтобы их собственная […]

Запрос Ajax не возвращается в класс

Я борюсь с ajax-запросом. Он выполнен, но не возвращается в мой класс. Мой PHP: … public function __construct() { add_action( 'admin_print_styles', array($this, 'admin_styles') ); add_action( 'admin_enqueue_scripts', array($this,'admin_scripts') ); add_action( 'admin_menu', array($this, 'admin_menu' )); $this->dbHandler = DatabaseHandler::get_instance(); add_action('wp_ajax_nopriv_add_vehicle', array($this,'add_vehicle')); add_action('wp_ajax_add_vehicle', array($this,'add_vehicle')); } public function admin_scripts( $hook ){ wp_enqueue_script( 'admin_scripts', plugins_url( 'js/functions.admin.js', __FILE__ ), array('jquery') ); wp_localize_script('admin_scripts', […]

OOP – add_action

Я создаю простую тему для личного использования, и я пытаюсь настроить различные варианты в классе. В принципе, я хочу использовать add_action в моем классе, но функция, похоже, не срабатывает (но я тоже не получаю никаких ошибок). Я искал ответ на этот вопрос, но не смог найти ничего, что помогло бы. Что я здесь делаю неправильно? […]

Почему функция hooked с использованием объекта выполняется в любое время?

Я пытался использовать класс и объект в плагине. Я сделал простую функцию с shortcode но он выполняет функцию без вставки короткого кода на любую страницу / сообщение. class example{ function ex_funct(){ ?> <h3>Hello</h3> <?php } } $obj = new example(); add_shortcode('examp_code',$obj->ex_funct()); Почему он показывает Hello на admin, а также заголовок переднего конца без вставки кода […]

Значение свойства null, когда значение присваивается внутри метода, подключенного к крючку действия wp

В my_method() ниже я назначаю массив идентификаторов сообщений для свойства $this->post_ids которое будет использоваться позже в моих аргументах запроса – см. process() . Если я my_method() к hook- my_method() init , все будет работать, но если я my_method() к my_method() действия wp , все не сработает. Когда my_method() подключен к wp , выполнение var_dump( $this->post_ids […]

Автозагрузка класса PHP – работающий снаружи, но не внутри плагина WordPress

Я думаю об использовании автозагрузки в плагине. Вне WordPress (как тест) он работает так, как ожидалось, но внутри плагина возникают некоторые проблемы. Структура каталогов, которую я использовал для тестирования: index.php |-me |-greeter.php Понимаете, это действительно просто, и все работает нормально. Файл index.php выглядит так: namespace Me; spl_autoload_register(function ($class) { spl_autoload(strtolower(str_replace("\\", "/", $class))); }); $greeter = […]

Хранение данных структуры PHP в таблице wp_options?

Я слишком много искал об этом, но не могу найти резонный ответ на этот вопрос Я создаю плагин WordPress, который имеет так много параметров, которые мне нужно хранить, чтобы хранить данные с помощью API-интерфейса, какой метод является хорошим StdClass или Array? в основном Array используется для хранения данных в базе данных wordpress, но я использовал […]

Создание класса настроек регистра, поддерживающего расширенные классы

У меня возникли проблемы с реализацией структуры классов для использования в плагинах, которые я разрабатываю. То, что я пытаюсь сделать, это создать класс, который я могу просто повторно использовать для каждого плагина. Я хочу, чтобы он мог расширяться, так что, если мне нужен конкретный вывод для изменения, я могу просто сделать это из этого конкретного […]

Объектно-ориентированное программирование, add_action в конструкторе не срабатывает

Я пытаюсь написать класс, который добавляет действие к клику save_post, но функция post_updated никогда не вызывается. Я пробовал некоторые варианты, но он никогда не называется. Я делаю что-то неправильно? class automatic_forwarder { function __construct() { add_action( 'save_post', array( $this, 'post_updated' ) ); } function post_updated() { echo "Working"; } } Затем в файле index.php плагина […]

Лучший способ доступа к переменным в шаблонной разметке

Я делаю свою собственную мини-ООП-обертку для работы со темами WordPress. У меня есть основная переменная $ settings, содержащая всю информацию, такую ​​как определения, скрипты, меню и т. Д. Затем я передаю эту переменную или ее элементы вспомогательным функциям, которые взаимодействуют с API. Все это отлично работало для моего помощника по настройке, который делал такие вещи, […]