【问题标题】:wordpress get post id from side widgetwordpress 从侧面小部件获取帖子 ID
【发布时间】:2012-05-23 22:28:32
【问题描述】:

我正在尝试从我放入侧边栏中的小部件中获取帖子 ID,但无论我尝试什么,我似乎都从其他帖子中获取随机帖子 ID。

我试过了:

            $id = get_the_id();

            $post_id = $GLOBALS['post']->ID;

            global $wp_query;

            $thePostID = $wp_query->post->ID;

我使用的模板是 classipress,我将我的小部件放入他们提供的侧边栏中。他们已经在侧边栏的顶部有一个使用帖子 ID 的表单。他们使用

            global $post;

我也试过这个,它也给了我一个不同的帖子 ID,但不是正确的。

在这个阶段我完全没有想法。

【问题讨论】:

  • 小部件有什么作用,一旦获得值,您需要对帖子 ID 做什么?如果同一模板上(或小部件内)还有其他循环,那么这可能会干扰并弄乱您的值。
  • 我真的想获取用户正在查看的帖子的类别(分类),以显示该类别中的其他相关帖子。在帖子本身的底部很容易做到,但我需要在侧边栏中使用它,由于某种原因,它并不那么直接。我读了一些关于在循环之外的东西,我看到的是循环中的最后一条记录,而不是我需要的帖子 ID。

标签: wordpress widget


【解决方案1】:

确保您的插件添加了:

add_action("widgets_init", "your_init");

否则 $post 将不会被初始化。

【讨论】:

    【解决方案2】:

    我不确定我是否理解 - 为什么侧边栏中的小部件会有专用的帖子 ID?据我所知,帖子 ID 是为实际帖子(或页面,甚至)保存的,而不是像小部件这样的元素?您没有获得“正确” ID 的原因可能是因为没有 ID 吗?你怎么知道“正确的 id”是什么?

    【讨论】:

    • 我正在尝试获取用户当前正在查看的帖子的 ID。我真的很想获得帖子所在的类别以显示更多帖子。它必须在侧边栏。我可以毫无问题地在帖子底部进行操作,但是要使该网站正常运行,我必须将其放在侧边栏中。
    猜你喜欢
    • 2010-12-04
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    相关资源
    最近更新 更多