2016-11-12 9 views
3

私のウェブサイトでは、カスタムフィールドの周りにソーシャルロッカーのwordpressプラグインを表示したいと思います。ここでPHPとショートコードの組み合わせ

<?php echo do_shortcode('[sociallocker]'.$to_lock.'[/sociallocker]');?> 

は私のカスタムフィールドで

<?php the_field('link'); ?> 

社会ロッカーは開閉ショートが必要です。

[sociallocker id="16619"] 
[/sociallocker] 

次が正しく動作しません:

<?php echo do_shortcode('[sociallocker id="16619"]'); ?> 
<?php the_field('link'); ?> 
<?php echo do_shortcode('[/sociallocker]'); ?> 
+1

あなたが書くことができ、あなたのHTMLページにこのコードの表示を何?そして、あなたは '<?= get_field( 'link');を使用しようとしました。 ?> php the_field( 'link')の代わりに? ?> ' – SergeyLebedev

答えて

1

機能do_shortcodeは単一のショートコードを受け入れるため、ショートコードの一部(オープンタグ、コンテンツ、終了タグ)を別々に渡すことはできません。

開け閉めのショートコードがある場合は、次のように呼び出す必要があります。

<?php echo do_shortcode('[s_tag]' . $content . '[/s_tag]'); ?> 

だから、あなたは、単一のdo_shortcodeコールで

<?php echo do_shortcode('[sociallocker id="16619"]'); ?> 
<?php the_field('link'); ?> 
<?php echo do_shortcode('[/sociallocker]'); ?> 

にあなたの次の行を更新するためにきました。

<?php echo do_shortcode('[sociallocker id="16619"]' . get_field('link') . '[/sociallocker]'); ?> 

参考:https://developer.wordpress.org/reference/functions/do_shortcode/

関連する問題