嘿,我将解释我正在寻找的代码。希望比我更聪明的人可以帮助清理它并把它放在一起。
我想要完成的事情:
我在wordpress页面上有一个图像,当它被点击时,它将在该页面上的div中打开一个自定义的php文件,该文件根据帖子ID显示特定的wordpress帖子。
尝试让脚本工作,但有些事情我不确定如何正确组合。
这就是我现在所拥有的:
图片链接基本上是传递我要在div中加载的帖子的URL。所以我需要的第一件事是脚本获取帖子的URL并获取帖子ID,以便自定义页面可以使用它。
第一行从图像链接获取链接。第二行将从URL获取帖子ID。不确定这是否100%正确。不确定变量是否会像那样工作?如果我手动输入网址,它就适用于页面。
var post_link = $(this).attr("href");
$post_id = url_to_postid($post_link);
这就是我对整个事情所拥有的:(没有工作,只是我想要完成的一个例子)
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function($){
$.ajaxSetup({cache:false});
$("a.ajax").click(function(){
var post_link = $(this).attr("href");
$post_id = url_to_postid($post_link);
$("#tabs").html("loading...");
$("#tabs").load(custom-page.php);
return false;
});
});
</script>
我不确定传递id变量的最佳方法,因此自定义php页面可以使用它来加载div中的帖子。那部分遗失了。
答案 0 :(得分:1)
我想出了如何通过反复试验来实现这一目标。所以在这里,如果有人发现这一点并需要它。
图片链接:
-class告诉脚本这是链接。你会把帖子塞进href。
<a href="SlugOfPostGoesHere" class="ajax" </a>
在同一页面上,这个div将从脚本加载自定义php页面:
<div id="tabs">
</div>
标题中的脚本:
-Pulls slug from href并创建变量。(在这种情况下为postslug)
- 加载时在div #tabs中加载“loading ...”。
- 在同一页面的div #tabs中加载自定义php页面,并将变量附加到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:
-First Line从url中的变量slugid获取post slug并将其设置为变量$ slug。
- 第二行从slug创建完整的URL。
- 第三行为您提供来自网址的帖子ID。
<?php
$slug = $_GET['slugid'];
$url = ("http://www.yourwebsite.com/" .$slug);
$postid = url_to_postid($url);
?>
现在,您可以使用帖子ID编码页面来加载您想要的内容。