在不带页眉和页脚的灯箱中打开WordPress单个帖子

时间:2012-11-16 作者:Anshul

我正在开发一个插件,需要在灯箱中打开一个wordpress帖子。以下是一些详细信息:

目前,我正在为lightbox使用colorbox。将触发灯箱以打开外部。接收post id为$GET变量的php文件http://test.anshulsharma.in/

外部php文件的当前代码为:

if(!function_exists(\'get_post\'))
{
require_once("../../../../wp-load.php");
}
$thepost = get_post($_GET["ID"]);
$thecontent = $thepost->post_content;
$thetitle = $thepost->post_title;
$thelink = get_permalink($_GET["ID"]);
?>
    <div id="cg-post-container" style="width:<?php echo get_cg_option(\'lightbox_width\'); ?>px;">
    <div id="cg-post-title">
    <a href="<?php echo $thelink; ?>"><?php echo $thetitle; ?></a>
    </div>
    <div id="cg-post-content">  
            <?php echo $thecontent; ?>
    </div>          
</div>
在当前版本的插件中,只显示帖子内容。短代码不起作用,嵌入的链接不显示。此外,也无法查看或添加评论。我愿意写一首定制的单曲。php文件,并添加我自己的样式。但我只想知道最好的方法,以及如何将post id(从$GET变量到single.php)传递到lightbox。

1 个回复
SO网友:s_ha_dum

您应该考虑使用AJAX API. 一旦你掌握了诀窍,它就会变得更容易,并为你省去很多头痛。

您特别提出了一个问题:您的Lightbox应该生成可识别的标记,您可以使用该标记隐藏不需要的元素,就像创建一个打印机友好的页面一样。我并不特别了解LightBox,但ThickBox创建了几个<div>s与TB_ ID上的前缀,其中之一是TB_ajaxContent 所以

#TB_ajaxContent .header { display:none }

... 将用类隐藏标题header. 非常简单,真的。

对于其他问题,只需在LightBox中加载单个帖子页面,并隐藏不需要的部分。一切正常。老实说,你甚至不需要那个回调脚本。您只需加载所需页面的URL即可。

结束