2013-03-27 7 views
0

У меня есть короткий код, который получает параметр из URL-адреса и выполняет дальнейшую обработку. У меня есть еще один короткий код, который также нуждается в той же обработке URL-адресов. Я хотел бы поделиться кодом обработки URL-адресов обеими функциями. Как это делается в коротком коде?Как делать вложенные короткие коды?

Это, кажется, пример psuedo, но он не является полным: http://www.sitepoint.com/wordpress-nested-shortcodes/. Кажется, что он делает вложенный синтаксис короткого кода на странице. Я предпочел бы сохранить вложенность в PHP, поскольку для меня не так много преимуществ, чтобы сделать это на странице с использованием синтаксиса короткого кода.

ответ

3

Вы можете вызвать PHP-код для одного короткого кода из другого PHP-кода короткого кода.

Так, например, возьмите URL-адрес, который был передан в ваш короткий код, выполните требуемую обработку, специфичную для этого короткого кода, а затем также вызовите/используйте функции позади вашего другого короткого кода по мере необходимости.

Функциональность вашего короткого кода PHP доступна для всего вашего другого кода PHP (включая любой другой короткий код), как и другие функции, например файл functions.php.

Вы можете имитировать шорткод гнездящихся внутри PHP с помощью do_shortcode() функции WP SHORTCODE API, передавая ему некоторую «содержание», которое просто например "[yourshortcode your_attr='your value' ... ]some content[/yourshortcode]". Таким образом, вы можете быть уверены в том, что ваш рабочий код выполняется так же, как если бы он был включен в контент.

Или, если это случай некоторых конкретных функций из одного короткого кода, который используется обоими, то, возможно, эти функции должны быть помещены в общий файл, например functions.php?

Но если короткие коды не являются частью одного и того же плагина или темы, то вы также можете посмотреть на is_plugin_active(), который позволит вам написать код, чтобы ваш зависимый шорт-код мог изящно обрабатывать отсутствие зависимости.

Но обратите внимание, что все это действительно «вложенность короткого кода», по крайней мере, так, как это определяет код WPx here. Пример, который вы связали, есть.

+0

@ 4thSpace спасибо за согласие, я ценю это. Получи это нормально? – Sepster

Смежные вопросы