我有一个自定义帖子类型(我在模板页面上使用),自定义帖子类型称为“headerhome”。当我在那里发布一个画廊的帖子时,我试图让它重定向到“单人头家庭”。php”,但它总是转到“单一”。php’。
自定义帖子类型本身的名称是任意的,它所在的模板页面的名称是“front page”。php’。
我真的很困惑,我在WP方面还不是最好的,所以当像这样简单的东西不起作用时,我不知道如何修复它,即使在翻了一个小时的抄本之后。
// Add new post type for homepage
add_action(\'init\', \'frontpage_top_init\');
function frontpage_top_init()
{
$args = array(
\'label\' => __(\'Homepage\'),
\'singular_label\' => __(\'Homepage\'),
\'public\' => true,
\'publicly_queryable\' => true,
\'show_ui\' => true,
\'query_var\' => true,
\'rewrite\' => true,
\'capability_type\' => \'post\',
\'hierarchical\' => false,
\'menu_position\' => 5,
\'supports\' => array(\'title\',\'editor\'),
\'has_archive\' => true
);
register_post_type(\'headerhome\',$args);
}
这是我在头版上的代码。php
编辑:-
<?php
/*
Template Name: frontpage
*/
?>
<?php get_header(); ?>
<div id="main-content">
<div class="head-home">
<?php
$portfolio_query = new WP_Query(array(
\'post_type\' => \'headerhome\',
\'showposts\' => 1
) );
?>
<?php while ($portfolio_query->have_posts()) : $portfolio_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
<div style="clear:both"></div>
<div class="embed-container">
<?php the_field(\'showreel\'); ?>
</div> <!-- end div embed-container -->
</div> <!-- end div head-home -->
<div class="gallerydescription">
<?php the_field (\'gallery-description\'); ?>
</div> <!-- end div gallerydescription -->
<?php the_field(\'image-1\'); ?>
<div style="clear:both;"></div>
<?php endwhile; wp_reset_postdata();?>
</div> <!-- end div main-content -->
<?php get_footer(); ?>
无论我尝试什么,它总是使用单。php而非单头天线盒。php。如果我对wordpress的理解是正确的,那么它可能不应该创建模板文件single headerhome。php自动让wordpress将其用于此帖子类型?
最合适的回答,由SO网友:Adam 整理而成
你冲洗过你的永久性皮肤吗?
如果没有,请访问仪表板中的permalinks页面,然后刷新您试图查看的页面。
如果有帮助,请告诉我们。
编辑:
在重读您的问题时,事实上,没有-只是因为您创建了一个单post\\u类型。php文件并不意味着WordPress将在您的首页上使用该文件。php模板文件。
你的头版。php文件是呈现帖子的内容。这是你的问题。
如果您想使用single-post\\u类型。php文件,用于在首页中显示帖子类型。php然后您可以执行以下操作:;
<?php
$portfolio_query = new WP_Query(array(
\'post_type\' => \'headerhome\',
\'showposts\' => 1
));
?>
<?php while ($portfolio_query->have_posts()) : $portfolio_query->the_post(); ?>
<?php get_template_part(\'single-post_type.php\'); ?>
<?php endwhile; wp_reset_postdata();?>
但显然要确保single-post\\u类型。php本身不包含循环/查询,如果包含循环/查询,则应删除首页中包含的外部while/endwhile语句。php