【问题标题】:WordPress - Custom Post Type Entry Won't Load Into A PageWordPress - 自定义帖子类型条目不会加载到页面中
【发布时间】:2025-12-15 02:45:01
【问题描述】:

我在我的 WP 网站中创建了一个非常基本的自定义帖子类型来举办活动。基本上,用户可以输入事件标题、有关事件的一些信息和日期。

目前,事件显示的唯一时间是在我的侧边栏中,我只需在其中提取即将发生的事件的标题和日期。

但是,我希望能够允许用户也单击链接标题以引导到事件的各个页面。我尝试预览我的自定义帖子类型事件,它一直引导我进入我的 404.php 页面。这些事件似乎根本没有加载到页面中。

我希望这是我在注册帖子类型时没有设置的一个小属性。有什么帮助吗?

【问题讨论】:

    标签: wordpress custom-post-type


    【解决方案1】:

    Wordpress 已将自定义帖子类型合并到模板层次结构中,您可以通过 single-$posttype.php 和 archive-$posttype.php 访问它们。

    如果您创建了这些模板并且您的帖子没有显示在循环中,您需要重置您的永久链接/刷新您的重写规则。

    同样,这将有助于查看您是如何注册帖子类型的,因为为了使您的 archive-$posttype.php 可用,您需要在参数中调用 has_archive => true。

    【讨论】:

      【解决方案2】:

      当我需要它时我做了什么:

      将此代码添加到创建帖子类型的同一函数中:

      add_action("template_redirect", array(&$this, 'template_redirect'));
      
      function template_redirect() {
              global $wp;
              if ($wp->query_vars["post_type"] == "events")
              {
                  include(TEMPLATEPATH . "/events.php");
                  die();
              }
          }
      

      然后,只需使用 the_loop 创建 events.php(如 single.php)!

      希望对你有帮助

      []的

      【讨论】: