我正在为wordpress构建一个插件。首先,我使用默认设置进行记帐,其中帖子的网址为http://localhost/worpress/?p=123
,我在wp_footer
操作中要求提供is_single()。
当我的插件准备就绪时,我去尝试清理我的代码。 (至少)有两件事我错了:
is_single()
行动中要求init
或者wp_footer
之前的某事时,为什么会返回错误?有人能说清楚吗?
答案 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
没有问号。