is_single和postid

时间:2011-08-08 09:33:59

标签: wordpress

我正在为wordpress构建一个插件。首先,我使用默认设置进行记帐,其中帖子的网址为http://localhost/worpress/?p=123,我在wp_footer操作中要求提供is_single()。

当我的插件准备就绪时,我去尝试清理我的代码。 (至少)有两件事我错了:

  1. 当我在is_single()行动中要求init或者wp_footer之前的某事时,为什么会返回错误?
  2. 为什么,当我在页面循环中的任何地方尝试var_dump($ _ REQUEST)(或_POST或_GET)时,在将永久链接选项切换为url_friendly类型后,我得到一个空数组?
  3. 有人能说清楚吗?

1 个答案:

答案 0 :(得分:1)

问题1:

  • is_single()只会返回true,如果您只是一个帖子
  • init动作挂钩发生在周期的早期;如果在实例化WP_Query之前调用is_single,则会出现错误。

要确定您是否过早地在is_single设置define('WP_DEBUG', true); wp-config.php。这是我的wp-config版本的第81行。如果您过早地调用它,您将看到来自WordPress的错误消息。 (另外,它是开发过程中使用的好工具。)

问题2:

切换到友好网址后,您没有获得$_REQUEST参数,因为友好网址没有查询字符串(问号之后出现的名称/值对,如http://localhost/worpress/?p=123。)请注意,http://localhost/worpress/foo/bar没有问号。