有条件地以不同格式显示同一帖子

时间:2013-03-18 作者:dixonge

我想我只是把自己塞进了一个角落。我正在设置一个带有图像的页面。该图像是一个具有大量链接的imagemap。当你点击链接时,它会在一个颜色框中打开一篇文章。到目前为止,我已经设法使用Lightbox Plus和Post模板插件的组合来完成这部分工作。

不幸的是,这涉及到将每个帖子分配给特定模板。该模板只需删除标题/图像/菜单。但这会永久性地改变post显示。我需要张贴仍然显示完整的标题,如果它是通过正常的菜单或从谷歌搜索访问。

如何根据访问方式以不同方式显示帖子?或者-如何在不使用自定义页面或帖子模板的情况下仅将帖子内容插入colorbox窗口?

1 个回复
最合适的回答,由SO网友:Milo 整理而成

一个可能的解决方案是首先去掉Post模板插件,只使用默认的single.php 渲染单柱视图。

然后在imagemap链接的末尾添加一个get变量,这样它们就像domain.com/post-name/?view=lightbox

然后过滤single_template 要在检测到GET var时加载lightbox视图模板,请执行以下操作:

function wpa_lightbox_single( $template ){
    if( isset( $_GET[\'view\'] ) )
        $template = locate_template( \'lightbox-view.php\' );

    return $template;
}
add_filter( \'single_template\', \'wpa_lightbox_single\' );

结束

相关推荐