Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用不同的模板在Div中加载Wordpress帖子_Php_Jquery_Ajax_Wordpress - Fatal编程技术网

Php 使用不同的模板在Div中加载Wordpress帖子

Php 使用不同的模板在Div中加载Wordpress帖子,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我有一个带有图像库的页面。每个图像都链接到图库上方的div中打开wordpress帖子。我有工作,但它加载整个页面,包括页眉和页脚 我需要的是使用自定义页面模板仅显示我需要的页面部分。例如,从加载到div的页面中删除页眉和页脚。我知道如何创建模板,但不知道如何让div中的帖子使用该页面模板 下面是我如何设置它的 标题中的脚本: <script type="text/javascript"> jQuery.noConflict(); jQuery(document).ready(fun

我有一个带有图像库的页面。每个图像都链接到图库上方的div中打开wordpress帖子。我有工作,但它加载整个页面,包括页眉和页脚

我需要的是使用自定义页面模板仅显示我需要的页面部分。例如,从加载到div的页面中删除页眉和页脚。我知道如何创建模板,但不知道如何让div中的帖子使用该页面模板

下面是我如何设置它的

标题中的脚本:

<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function($){
    $.ajaxSetup({cache:false});
    $("a.ajax").click(function(){
        var post_url = $(this).attr("href");
        $("#Div-That-Loads-Post").html("loading...");
        $("#Div-That-Loads-Post").load(post_url);
     return false;
    });
});
</script>
图库中的链接:

<div class="ngg-gallery-thumbnail" >

<a href="../<?php echo $image->ngg_custom_fields["Link"]; ?>" 

class="ajax"

title="<?php echo $image->description ?>" 

<?php echo $image->thumbcode ?>  >

<img title="<?php echo $image->alttext ?>" alt="<?php echo $image->alttext ?>" src="<?php echo $image-> thumbnailURL ?>" <?php echo $image->size ?> />

</a>

</div>
该页上的帖子/图库上方的Div:

<div id="Div-That-Loads-Post">

</div>
就像我说的,它在div中加载页面。我如何才能指定它在div中加载的模板?我无法更改原始帖子模板,因为我希望它在原始页面上保持不变

如果有更好的方法来实现同样的体验,我也很感兴趣


谢谢你的帮助。谢谢。

评论帮助我走上了正确的道路,但还需要解决一些其他问题才能完成。谢谢你的帮助。如果有人需要以这种方式将url更改为id,我就是这样做的

图片链接:

-类告诉脚本这是链接。您将为href添加一段post

<a href="SlugOfPostGoesHere" class="ajax" </a>
同一页面上的Div,此Div将从脚本加载自定义php页面:

<div id="tabs">

</div>
标题中的脚本:

-在本例中,从href提取slug并创建variable.postslaug

-加载加载。。。加载时在div选项卡中

-将自定义php页面加载到同一页面上的div选项卡中,并将变量附加到url。在浏览器中不会看到这种情况

-滚动到页面顶部

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function($){
    $.ajaxSetup({cache:false});
    $("a.ajax").click(function(){
        var postslug = $(this).attr("href")
        $("#tabs").html("loading...");
        $("#tabs").load("../custom-page.php?slugid=" + postslug);
        $("html, body").animate({ scrollTop: 0 }, 600);
        return false;
    });
});
</script>
然后在自定义PHP页面上,您需要放置:

<?php require( "wp-load.php" ); ?> 
或者无论wordpress页面的路径是什么,您都可以使用wp函数

另外,此代码用于从URL中传递的slug中获取帖子的ID:

-第一行从url中的变量slugid获取post slug,并将其设置为变量$slug

-第二行从slug创建完整URL

-第三行给出了url中的帖子ID

<?php
$slug = $_GET['slugid'];
$url = ("http://www.yourwebsite.com/" .$slug);
$postid = url_to_postid($url);
?> 

现在,您可以编写页面代码,使用post ID在div中加载所需的内容。

您实际上不需要自定义模板。使用href属性加载所需页面,并通过指定选择器选择要显示的零件:

例如: $Div-That-Loads-Post.loadpost_url+.ngg图库缩略图

请注意空格。ngg库缩略图将不起作用


参考:

在ajax中调用自定义php文件。此文件中可以包含任何您喜欢的内容。我建议你将posted发布到这个文件中,然后使用它来提取你想要的详细信息;这是有道理的。使格式化div内容变得容易。我遇到的问题是我正在从postname加载页面。我没有我知道的帖子id,因为我的永久链接使用了/%postname%/。我正在将post slug手动输入后端的图像链接。然后链接将其传递给脚本,以便它可以在div中加载该post。是否有方法发布postname以加载带有自定义php文件的内容,或者我遗漏了什么?我无法使用自定义php文件在div中加载任何内容。谢谢