【问题标题】:Nextgen gallery: show album inside a part of a pageNextgen 画廊:在页面的一部分内显示专辑
【发布时间】:2014-09-30 23:32:19
【问题描述】:

我正在使用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>

如何在红色部分显示画廊?

【问题讨论】:

    标签: wordpress nextgen-gallery


    【解决方案1】:

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

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

    也许如果你重写 php remplate 来使用它可以工作的功能

     <?php 
         $post = get_post(107);    <--Here
         the_content();
     ?>
    

    【讨论】:

    • 我刚刚尝试了the_content();echo the_content(); 都不起作用
    • 整个技巧可能不是解决方案,因为 Nextgen 是这样制造的,您还有其他解决方案吗?
    • 嗯,您可以尝试使用函数do_shortcode,这样您就可以直接调用echo do_shortcode('[album id=2 template=extend]');,而不是检索帖子107并回显其内容
    【解决方案2】:

    问题是您只是打印原始数据,并且由于未设置此帖子的 postdata,因此 the_content() (应用各种过滤器,包括 do_shortcode )之类的函数将不起作用。

    用途:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多