Media Library Categories プラグインを使用しています。あまりドキュメントがないので、実装する方法は[mediacategories categories="6"]
というショートコードを使うことにしました。
これをテーマテンプレートに直接実装したいです。だから私は試してみました:
<?php if(function_exists(do_shortcode('[mediacategories categories="6"]'))) { ?>
<h1>Inspiration</h1>
<?php
do_shortcode('[mediacategories categories="6"]');
}
私はまた関数を直接実装しようとしましたが、関数がそれらを使用するために$ attsを正しく渡すことができませんでした。
do_shortcode()
は単に文字列を解析します。印刷するにはecho
またはprint
を使用する必要があります。
function_exists()
は関数名と一致する文字列を期待します。プラグインを見た後、私はこのコードを試すでしょう:
<?php
if ( function_exists( 'mediacategories_func' ) )
{
?>
<h1>Inspiration</h1>
<?php
print mediacategories_func( array( 'categories' => 6 ) );
}
私は通常、私のショートコードコールバックにこのようなセクションを追加します。
if (is_array($atts)) {
extract(shortcode_atts(array(
'primary_att' => 'primary_default',
...
), $atts));
} else {
$primary_att = $atts;
}
これにより、 'primary'属性を(配列の中にラップせずに)直接primary_att
を関数に渡すことができます。それでmediacategories_func(6);
。