Intereting Posts
Как получить единственный крючок из wp_head ()? Любой способ изменить фактическое имя файла из медиа-менеджера? Почему страница блога не показывает шаблон? Влияние эффективности использования глобальной $ post Текстовый редактор в заголовке WP wp_dropdown_pages с условием tax_query wp_dequeue_script не работает в моем плагине Способ использования одного шаблона, но можно назвать другую верхнюю графику? Запросить подключенные сообщения из 2 разных типов сообщений (используя posts2posts) Как скопировать короткий код Список всех категорий в опциях Замените Gravatar URL-адресом img для аватаров Как конвертировать контактную форму 7 в сообщение после отправки? Как отредактировать e-mail WordPress, который дает пользователю пароль? wp_signon возвращает пользователя, но пользователь не зарегистрирован, потому что wp установлен на субдомене. Как заставить его работать?

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

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

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 "Обработчик коротких сообщений не требует определенного короткого кода"