0

メタ ボックスのショートコードに何も表示されない場合、何も表示したくありません。

<?php echo stripslashes(do_shortcode(get_post_meta($post->ID, '_'.$dirname.'_matchquote', true))); ?>

メタ ボックスのショートコードは次のようにコーディングされます。

'_'.$dirname.'_matchquote' => array(
    'name' => '_'.$dirname.'_matchquote', 
    'title' => __('Match Quote', 'gp_lang'), 
    'desc' => __('', 'gp_lang'), 
    'std' => '',
    "type" => "textarea"
),

では、その特定のボックス内に何もない場合、どうすれば何もエコーしませんか?

4

1 に答える 1

0

「その特定のボックス」が何であるかは不明ですが、これがあなたが目指しているものだと思います:

$text = stripslashes(do_shortcode(get_post_meta($post->ID, '_'.$dirname.'_matchquote', true)));
if (!empty($text)) {
  echo $text;
}

stripslashes処理されたショートコードで実行している理由がわかりません。get_post_metaどちらかといえば、その文字列が に送信される前に の出力で実行する必要があると思いますdo_shortcode

$text = do_shortcode(stripslashes(get_post_meta($post->ID, '_'.$dirname.'_matchquote', true)));
if (!empty($text)) {
  echo $text;
}
于 2013-03-17T16:05:09.167 に答える