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]");
Другие вопросы по тегам