Intereting Posts
Можно ли использовать объект в add_action? Получить атрибут shortcode вне WordPress сбор сообщений и показ на главной странице Необходимо превратить этот php в короткий код WP Секция предупреждающего бара в цикле WP отображается, хотя сообщений нет Не удается получить пользовательское поле RSS из сообщений Как переопределить функцию из расширения-плагина в классе Использование WP_Query для получения сообщений случайным образом С сегодняшнего дня Поиск страниц, которые являются дочерними элементами текущей страницы Используя WP_Query, я хочу показывать сообщения, связанные с пользовательским термином таксономии Как отобразить 7 последних дней сообщений? Как добавить текстовый виджет на странице администратора сообщений? Внедрить If-ElseIf-Else-EndIf с короткими кодами Как написать простой запрос на обновление в WordPress Изменить теги url для поиска на другом сайте

Обработчик коротких сообщений не требует определенного короткого кода

В моем плагине член получает электронное письмо с этой ссылкой:

HTTP: // мой сайт / post_type = Foo р = 666

В базе данных страница с настраиваемым типом сообщения: foo содержит такой короткий код:

Страница 666

[my-shortcode][/my-shortcode] 

Класс MyShortcode расширяет абстрактный класс Shortcode

Короткий код

 abstract class Shortcode { public $tag; public $attrs; public $function; public function __construct($tag) { $this->attrs = array(); $this->tag = $tag; $this->function = get_called_class().'::getCallBack'; add_shortcode( $this->tag, $this->function ); $this->init(); } protected function init(){ if( !is_admin() ){ //Front-end add_action('wp', array( $this , 'check_page' ) ); } } abstract public function check_page(); abstract public static function getCallBack( $attrs ); } 

MyShortcode

 class MyShortcodeextends Shortcode { public function check_page(){ error_log("check_page"); ... } public static function getCallBack( $atts = null ){ error_log("getCallBack"); ... } } 

Эта структура работает для других коротких кодов, которые отображаются по внутренней ссылке. Но для этого короткого кода (возможно, потому, что он вызван ссылкой по электронной почте), функция checkPage () вызывается, но не getCallBack (), которая является обработчиком короткого кода.

debug.log

 [03-Nov-2017 13:58:34 UTC] check_page 

У кого-то есть идея?

Solutions Collecting From Web of "Обработчик коротких сообщений не требует определенного короткого кода"