当前位置: 首页 > 知识库问答 >
问题:

Wordpress自定义帖子类型-无法显示单个帖子页面

连德水
2023-03-14

我已经使用代码设置了WordPress自定义帖子类型。我已经设法让自定义帖子显示在“归档”页面中,但如果我单击“归档”页面中的链接,WP无法找到单个帖子页面。

我想我可能对定制的post permalinks有问题。希望有人能帮我

functions.php

add_action('init', 'create_portfolio');

function create_portfolio(){

    $portfolio_args = array(
        'label' => _('Portfolio'),
        'singular_label' => _('Portfolio Item'),
        'public' => true,
        'show_ui' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'rewrite' => true,
        'supports' => array('title', 'editor', 'thumbnail')
    );

    register_post_type('portfolio', $portfolio_args);

}

页面模板

要显示自定义帖子,我设置了一个带有WP查询的新页面模板:

<?php

/*
Template Name: The Portfolio
*/

get_header(); ?>


<?php
$args = array(
    'post_type'   => 'portfolio',
    'post_status' => 'publish'
 );

$portfolios = new WP_Query( $args );


if( $portfolios->have_posts() ) :
  while( $portfolios->have_posts() ) : $portfolios->the_post();
    ?>

  <h1><a href="<?php echo get_post_permalink() ?>"><?php echo 
  the_title();?></a></h1>

     <?php the_post_thumbnail('medium'); ?>

      <?php //the_content(); ?>
      <?php the_excerpt(); ?>

    <?php

 // Stop the loop when all posts are displayed
 endwhile;

// If no posts were found
else :
?>
<p>Sorry no posts matched your criteria.</p>
<?php
endif;
?>   
<?php
get_footer();
?>

页面模板代码似乎工作和所有自定义帖子显示预期但当我点击标题链接我得到一个页面未找到错误。

我注意到,当我鼠标在标题链接,以下显示在浏览器状态栏:

someplace.com/wp/portfolio/christmas-cake

但是,我被带到的错误页面具有URL:

someplace.com/wp/portfolio/christmas-cake/christmas-cake/

发生了什么事??

共有1个答案

滑令
2023-03-14

我认为您只需要在主题中创建single-{posttype}.php文件。

尝试创建singleportfolio.php文件,并在那里编写一些代码。

请从设置中再次保存永久链接设置-

还有一件事你需要在你的代码中传递post id

<a href="<?php echo get_permalink($post->ID); ?>">

试试看嘛

 类似资料:
  • 我创建了一个名为制造商的自定义帖子类型,并添加了大量帖子和类别。单个帖子页面工作,但类别/存档页面不显示任何帖子。 制造商被分成不同的类别,我需要显示每个类别中所有帖子的存档。我去工厂的时候 http://localhost/category/manufactures/ge-speedtronic/ 这就是令人困惑的地方。我为自定义帖子类型“制造商”使用的类别也显示在我的其他自定义帖子类型和默认帖

  • 我觉得这个问题有一个非常简单的解决方案。但是,在尝试解决了大约3个小时未果后,我谦卑地来找你。 一个自定义的帖子类型,乐队,已经创建,并有几个自定义字段(这是通过高级自定义字段插件创建的。) 我将如何获得和显示的内容(特别是自定义字段数据)的特定带条目(使用其ID或标题或段塞)内的一个常规的帖子?(见下图) 我们必须提供ID/title/slug,以便它知道要显示的band post的内容 短代码

  • 我试图为自定义帖子类型创建一个页面,但我无法真正实现。以下是我正在尝试的全部内容- 自定义帖子类型注册的functions.php片段 我使用名为单Tutorial.php的模板为这个自定义帖子类型模板。此外,在我的帖子显示中,我使用the_permalink()链接到帖子。 现在考虑一个标题为Test3的帖子现在在我的仪表板上,我看到它的PyMalink AS。 当我回显我得到的_permali

  • 我创建了一个自定义的帖子类型(书),然后为这个特定的帖子类型创建了一个自定义分类法(book_cat)。它工作正常,但如果我单击仪表板中的所有书籍页面,则没有列显示已将书籍分配给哪些类别(book_cat)(如果有)。我需要点击每本书编辑并看到那里。 注册新职位类型功能是: 分类法是:

  • 本文向大家介绍WordPress 注册自定义帖子类型,包括了WordPress 注册自定义帖子类型的使用技巧和注意事项,需要的朋友参考一下 示例 假设您有一个图书馆网站,并且想要一个名为Books的自定义帖子类型。可以注册为 如此简单,您现在就注册了一个自定义帖子类型。 该代码段可以放在主题functions.php文件中,也可以放在插件结构中。

  • 我是个新手,我正在努力发展我的第一个主题。 不幸的是,我遇到了一些麻烦与自定义后类型(项目)。我已经尝试了关于这个主题的不同组合(query_post、WP_Query、同花永久链接等)。),但似乎没有一个适合我。 我尝试使用插件wp_pagenavi。 这是我的注册帖子类型,在函数中。php: 以下是模板中列出我的自定义帖子类型“projet”的代码: 目前,这段代码列出了2最后一个自定义帖子类