【问题标题】:Pass Wordpress Post ID To Another Page将 Wordpress 帖子 ID 传递到另一个页面
【发布时间】:2014-04-15 19:36:25
【问题描述】:

您好,我要解释一下我在寻找这段代码要做什么。希望比我更聪明的人可以帮助清理它并把它放在一起。

我想要完成的总体目标:

我在 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 中加载该帖子。那部分不见了。

【问题讨论】:

  • 我只需将帖子 ID 放入会话变量中并将其回显到该页面

标签: javascript php jquery ajax wordpress


【解决方案1】:

我通过反复试验想出了如何做到这一点。因此,如果有人找到并需要它,就在这里。

图片链接:

-class 告诉脚本这是链接。您将把帖子的 slug 放在 href 上。

<a href="SlugOfPostGoesHere" class="ajax" </a>

Div 在同一页面上,这个 div 将从脚本加载自定义 php 页面:

<div id="tabs">

</div>

标题中的脚本:

-从href中拉出slug并创建变量。(在这种情况下为postslug)

-在加载时在 div #tabs 中加载“正在加载...”。

-在同一页面上的 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。

-第三行提供来自 url 的帖子 ID。

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

现在您可以对页面进行编码以使用帖子 ID 来加载您想要的内容。

【讨论】:

    猜你喜欢
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 2022-09-26
    • 2011-04-14
    • 1970-01-01
    相关资源
    最近更新 更多