Я пытаюсь обернуть содержимое файла php шаблона внутри шорткода, который имеет закрывающий тег. Шорткод выглядит так:
[hide for="!administrator, !subscriber"]'content goes here??'[/hide]
Этот код скрывает содержимое для всех, кроме администратора и подписчика с двумя пользовательскими ролями.
У меня проблема в том, как обернуть шорткод вокруг всего элемента списка?
Код, который необходимо заключить в шорткод, указанный выше:
<?php
/**
* `Call now` quick action.
*
* @since 2.0
*/
if ( ! ( $phone = $listing->get_field('phone') ) ) {
return;
}
$link = sprintf( 'tel:%s', $phone );
?>
<li id="<?php echo esc_attr( $action['id'] ) ?>" class="<?php echo esc_attr( $action['class'] ) ?>">
<a href="<?php echo esc_url( $link ) ?>" rel="nofollow">
<?php echo c27()->get_icon_markup( $action['icon'] ) ?>
<span><?php echo $action['label'] ?></span>
</a>
</li>
Я пытался обернуть его различными способами, но он не может загрузить страницу.
Я пробовал код, подобный этому:
?php echo do_shortcode('[hide for="!administrator, !subscriber"]'All the content is put inside here'[/hide]');
Но это не работает и в итоге выглядит очень запутанным. Я не программист, поэтому я нахожу это очень трудным, но я бы предположил, что это возможно. Также я знаю, что что-то вроде этого, вероятно, должно быть сделано через файл functions.php в моей дочерней теме, а не в этом файле шаблона в основной теме, но я просто не могу понять, как написать функцию для этого.
Буду признателен за любую помощь с этим!