플러그인을 쓰고 있는데 플러그인 코드의 특정 기능을 트리거 할 때 어려움을 겪고 있습니다. 당으로WordPress Plugin Shortcodes 전에 이벤트 호출
/*
// 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;
// ...
});
는 stackexchange에 in a previous post, 내가 init
이벤트에 의해라는 함수에 내 플러그인의 컨트롤러 측을 분리 제안했다. 그러나 모든 페이지로드시 init
이벤트 함수에 포함 된 코드를 평가하지 않으려 고합니다. 단축 코드가 포함 된 페이지가로드 될 때만 내 코드를 평가하기를 원합니다.
나는 false로 초기화되지만 add_shortcode 함수 내에서 true로 변경되는 부울 클래스 변수를로드하려고 시도했지만 그때까지는 너무 늦었습니다. init
이벤트가 발생하고 함수의 내용이 실행되지 않습니다.
제 코드 - C 영역에서 어떤 표현을 사용해야합니까? 짧은 코드를 사용할 때만 init
이벤트 기능이 실행되도록하려면 어떻게해야합니까?
무엇을 확인 하시겠습니까? – codepixlabs
'init'은 실행될 첫 번째 것을 의미합니다. 그 전에는 아무 일도 일어나지 않을 것입니다. 아마 다른 적절한 후크와 함수를 연결해야합니다. – codepixlabs
무엇을 보여줄지 결정하기 위해 액션과 뷰를 기반으로 조건을 실행해야합니다. 페이지에서, 내가 선택한 apt hook은 shortcode가 호출되기 전에 있어야합니다. –