0

Nextgen-Gallery用来在我的 WP 网站上显示画廊。

画廊页面内,蓝色部分显示画廊图片,红色部分假设显示包含画廊的相册。

经过对谷歌的长期研究,我无论如何都找不到完成上述任务(大多数答案都是旧的,并且不适用于最新版本),所以我想也许下面的技巧可以完成这项工作:

我创建了一个新页面,并添加了[album id=2 template=extend]在该页面上运行良好的简码,但是当我尝试将此页面包含在“画廊页面”的红色部分中时,它显示简码文本而不是显示画廊。

在此处输入图像描述

<div class="col-md-4">
    <div class="panel panel-danger">
        <div class="panel-heading">
            <h3 class="panel-title">Albums</h3>
        </div>
        <div class="panel-body">
            <?php 
                $post = get_post(107);    <--Here
                echo $post->post_content;
            ?>
        </div>
    </div>
</div>

如何显示红色部分内的画廊?

4

2 回答 2

0

问题是您只是打印原始数据,并且由于没有设置此帖子的 postdata,因此the_content()(应用了所有类型的过滤器,包括do_shortcode)之类的功能将不起作用。

利用:

echo apply_filters( 'the_content', $post->post_content );

如果这不起作用,那么问题出在简码中。

于 2014-09-30T15:32:19.310 回答
0

我浏览了 Nextgen-Gallery 源代码,而且源代码很大,因此解决这个特定问题可能并不容易。

我相信关键是短代码替换发生在the_content内部,如果你只是回显原始帖子内容,就不会发生。

也许如果您重写 php remplate 以使用该功能,它可能会起作用

 <?php 
     $post = get_post(107);    <--Here
     the_content();
 ?>
于 2014-06-08T01:39:30.850 回答