Я пишу плагин, и у меня возникают трудности с тем, когда запускать определенные функции кода плагина.WordPress Plugin Event Call Before Shortcode
/*
// Plugin information goes here
*/
// ***** Area A
$GLOBALS['example_class'] = new example_class;
class example_class {
// ***** Area B
public function admin_init() {
add_menu_page(
// ...
);
} // End of admin_init function
} // End of example class
add_action('init', function() {
global $example_class;
// ***** Area C
if (??????) {
// Sanitize and set the view role
$view = (isset($_REQUEST['view'])) ? sanitize_key($_REQUEST['ex']) : 'get_all';
// Manage submitted data
switch ($view) {
// ...
} // End of switch for view
// Sanitize and set the action role
$action = (isset($_REQUEST['action'])) ? sanitize_key($_REQUEST['action']) : NULL;
// Manage submitted data
switch ($action) {
//...
} // End of switch for action
} // End of if page is being shown
});
add_action('admin_menu', function() {
global $example_class;
$example_class->admin_init();
});
add_shortcode('show_public_random', function() {
global $example_class;
// ...
});
Согласно предложил in a previous post на stackexchange, я отделил стороне контроллера моего плагина в функции, вызываемой этим init
событием. Тем не менее, я не хочу, чтобы код, содержащийся в функции события init
, оценивался при каждой загрузке страницы - я хочу, чтобы мой код оценивался только при загрузке страницы, содержащей короткий код.
Я попытался загрузить переменную класса boolean, которая инициализируется как ложь, но заменена на true из функции add_shortcode, но к тому времени уже слишком поздно - произошло событие init
, а содержимое функции не запущено.
Пожалуйста, помогите мне - какое выражение следует использовать в Области C моего кода? Что я должен проверить, чтобы гарантировать, что функция события init
запускается только при использовании короткого кода?
Что вы хотите проверить? – codepixlabs
'init'means первое, что будет выполнено, ни одно из ваших условий не будет работать до этого. Вероятно, вам стоит попробовать подключить свою функцию другим крюком apt – codepixlabs
Мне нужно запустить условные обозначения на основе действий и взглядов, чтобы решить, что показывать на странице, поэтому подходящий крючок, который я выбираю, должен быть до того, как вызывается короткий код. –