web-dev-qa-db-ja.com

do_shortcode()はショートコードを行きません;)

Functions.phpファイルにこの基本的なショートコードを想像してみてください。

function div_shortcode( $atts ) {
   return '<div class="div"></div>';
}

add_shortcode('div', 'div_shortcode');

そのため、Wordpressエディタのすべての[div]<div class="div"></div>が与えられます。

見た目も機能もいいですね。

今ここに問題があります。

ショートコードをPHPファイルで使用する必要があります(WP Text Editorで入力しないでください)。

幸運にもそのための関数があります:

<?php do_shortcode('[div]'); ?> 

しかし、待って、それは示しています...何もしませんか?

<?php do_shortcode('[gallery]'); ?> 

これでも動作しません。

なぜそれが起こっているのですか?何か案は?

5
Wordpressor

ショートコード関数は値を返すだけなので、エコーするか何かに割り当てる必要があります。

<?php echo do_shortcode('[div]'); ?>
10
Milo