如果存在附件,则显示短代码

时间:2012-03-11 23:01:50

标签: wordpress

我正在创建一个自定义媒体中心wordpress网站。

我创建了自己的画廊,我通过此插入到我的模板中......

<?php echo do_shortcode('[gallery customgal="true"]'); ?>


但是,有时候,有时我的帖子除了图像之外还会有其他附件。

所以我添加了这个短代码,使用EG Attachments插件,在我的帖子中添加了其他附件......

<?php echo do_shortcode('[attachments]'); ?>


这很好用。但是在我的附件短代码之上,我需要一个H标签...

<h2>Videos</h2>

<?php echo do_shortcode('[attachments]'); ?>


但我的问题是,如果我的帖子中没有添加任何附件,那么我就会被标题所遗忘,而且不得低于它!

如果存在除图像以外的附件,是否可以仅显示我的短代码?

像这样......

<?php if (attachmentexists()) { ?>

     <h2>Other Attachments</h2>

     <?php echo do_shortcode('[attachments]'); ?>

<?php } ?>


非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

你有正确的想法。这里最好的解决方案可能是将<?php echo do_shortcode('[attachments]'); ?>的结果赋给变量,然后检查它是否已设置:

<?php $attachments = do_shortcode('[attachments]'); ?>
<?php if( $attachments ): ?>
    <h2>Videos</h2>
    <?php echo $attachments; ?>
<?php endif; ?>

或者,您可以修改短代码以获取参数,例如:标题[attachments title="Videos"],并从短代码中执行(相同)逻辑。

答案 1 :(得分:0)

我不太确定你的问题是什么,但改变输出PHP的方式:

<?
     if (attachmentexists()) {
     echo "<h2>Videos</h2>";
     echo do_shortcode('[attachments]');
     } 
?>