应用导致500内部服务器错误的筛选器

时间:2012-07-23 作者:fdsa

我有一个自定义的帖子类型,需要以某种方式显示它。我希望其他帖子正常显示。当我尝试使用以下代码来完成此操作时,我得到一个500内部服务器错误。

global $post;


//do this only for custom type
  if (!(get_post_type()==\'customt\'))
  {
    $rawContent = $post->post_content;
    $formattedContent = apply_filters(\'the_content\',$rawContent);
    echo $formattedContent;
    return;
  }
我在google上搜索了一下,找到了很多与之相关的东西。htaccess,但我认为这里不是这样。如果我注释掉apply filters行($formattedContent =...) 和回显原始内容,帖子显示,但当然没有格式。

当我尝试应用过滤器时,我做错了什么?

2 个回复
最合适的回答,由SO网友:kaiser 整理而成

请尝试用以下内容替换您的代码段。这个global $post 当它位于函数或方法上下文外部和循环内部时,不需要$post 已经是globalget_post_type()s默认值false 参数替换为$post 函数内部。

if ( \'customt\' !== get_post_type() )
    return print apply_filters( \'the_content\', $post->post_content );
还要确保你没有在一些过早的过滤器上调用它,比如plugins_loadedinit, 作为全球$post 无法设置对象。

SO网友:Sisir

Post type name shouldn\'t contain capital letters.

同时尝试通过$post 反对get_post_type() 作用

Like this:

if(!get_post_type($post)==\'customT\'){
   //code
}

结束

相关推荐

Apply_Filters函数及其变量的说明

我正在学习如何使用PHP构建html表单,方法是以“simplr表单注册”插件为例。我正在查看以下代码:$form .= apply_filters(\'simplr-reg-instructions\', __(\'Please fill out this form to sign up for this site\', \'simplr-reg\')); 您能解释一下这里发生了什么吗?函数的作用是什么,为什么需要“simpr reg指令”和“simpr reg”?为什么这句话不能简单地说:$