WordPress, разбирать шорткод внутри шорткода
Я работаю над сайтом для клиента, который ведет блог в стиле социального выкупа. Здесь пользователь должен нажать одну из кнопок социальных сетей, чтобы получить доступ к контенту.
Тем не менее, теперь она собирается использовать плагин OnePress Social Locker для WordPress, который работает, оборачивая содержимое в определенные теги, например:
[sociallocker] Content Here will Be Locked [/sociallocker]
На данный момент у нее уже есть свой собственный шорткод, который работает следующим образом:
[socialLock url="http://example.com" text="Click here to view content"] Content here will be locked [/socialLock]
Проблема состоит в том, что у нее есть более 2300 страниц в ее блоге, и они могут менять каждую отдельную страницу. через приборную панель уйдет целую вечность, и это не почасовой договор оплаты.
Я думал, что смогу передать текущий шорткод в новый, вот так:
function parseShortcode_func( $atts ) {
$atts = shortcode_atts( array(
'link' => '',
'text' => 'default text'
), $atts );
return "[sociallocker] <a href=\"{$atts['link']}\">{$atts['text']}</a> [/sociallocker]";
}
add_shortcode( 'socialLock', 'parseShortcode_func' );
Однако это только вывод
[sociallocker] Click here to view content [/sociallocker]
У кого-нибудь есть идеи, как разобрать этот второй шорткод в шорткоде?
1 ответ
do_shortcode()
Функция будет анализировать вашу выходную строку.
return do_shortcode("[sociallocker] <a href=\"{$atts['link']}\">{$atts['text']}</a> [/sociallocker]");