在没有页眉和页脚的灯箱中打开wordpress单个帖子

时间:2012-11-16 14:32:56

标签: wordpress wordpress-plugin lightbox

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

  • 目前,我正在使用colorbox作为灯箱。触发灯箱打开外部.php文件,该文件收到post id为$ GET变量。
  • 只有标题,元信息,内容和评论部分应在灯箱中打开,而不是主题页眉和页脚。
  • 所有短代码,嵌入式youtube链接等都应该在已打开的帖子中工作。
  • 如果有办法获取当前主题的single.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>

在当前版本的插件中,只显示帖子内容。短代码不起作用,嵌入链接不显示。此外,无法查看或添加评论。我愿意为此编写一个自定义的single.php文件并添加我自己的样式。但我只是想知道最好的方法,以及如何将帖子ID(从$ GET变量到single.php)传达给灯箱。

1 个答案:

答案 0 :(得分:1)

如果您的外部网页是一个不会一直变化的精确页面,那么您的解决方案很简单。创建您的页面,我们说:http://yoursite.com/yourpage。创建一个名为page-yourpage.php的页面模板(使用与.php之前的页面名称相同的前缀),并在此模板中(您可以从single.php复制),只需删除get_header()如果需要,get_footer() +添加缺失的代码(关闭bodyhtml)。使用灯箱链接调用该页面(http://yoursite.com/yourpage)。所有的短代码等都可以使用。完成。 否则,如果您有权访问AJAX调用,而不是调用url,则调用其中的容器。所以不是像:

jQuery("#targetcontainer").load("/yourpage/");

致电:

jQuery("#targetcontainer").load("/yourpage/ #sourcecontainer");