Php 自定义帖子类型单页wp#U查询赢得';行不通

Php 自定义帖子类型单页wp#U查询赢得';行不通,php,wordpress,custom-post-type,taxonomy,custom-taxonomy,Php,Wordpress,Custom Post Type,Taxonomy,Custom Taxonomy,我已经为这个自定义帖子类型创建了一个名为“products”的自定义帖子类型和一个名为“product\u category”的自定义分类法。我还创建了一个Cpt模板文件“single products.php”,用于显示单个帖子,以及一个分类法模板“Taxonomy-product\u category”,用于显示特定分类法的所有帖子 我使用_permalink()获取各个帖子的url,当你点击一篇帖子时,你会直接跳转到“single product.php”页面。我成功地实现了所有这些,为一

我已经为这个自定义帖子类型创建了一个名为“products”的自定义帖子类型和一个名为“product\u category”的自定义分类法。我还创建了一个Cpt模板文件“single products.php”,用于显示单个帖子,以及一个分类法模板“Taxonomy-product\u category”,用于显示特定分类法的所有帖子

我使用_permalink()获取各个帖子的url,当你点击一篇帖子时,你会直接跳转到“single product.php”页面。我成功地实现了所有这些,为一篇文章找到了cpt模板的单个页面,但由于某些原因,我的wp_查询不会从“single product.php”页面运行。它将从文章中获取的唯一内容是标题、编辑器和缩略图,不会显示其他自定义字段。我已经在我的CPT中创建了一个带有一些自定义字段的元盒。这些字段在分类法归档页面中正常工作和显示,但在单个页面中却没有,我不明白为什么

这是我的密码。我很感激能在这方面得到一些帮助。提前谢谢

======我的自定义帖子类型“产品”=========

函数创建\分类\产品(){
$labels=数组(
'name'=>x('Produktkategorier','taxonomy singular name','Produktkategorier','products'),
“单数名称”=>\ux('Produktkategori','taxonomy singular name','Produktkategori','products'),
“搜索项目”=>,
“所有项目”=>(“Alla Produktkategorier”、“产品”),
“父项”=>(Förälder Produktkategori,“产品”),
“父项冒号”=>(“Förälder Produktkategori:”,“产品”),
“编辑项目”=>“产品”,
“更新项目”=>“(“Uppdatera Produktkategori”,“产品”),
“添加新项目”=>(“Lägg till ny Produktkategori”、“产品”),
“新项目名称”=>(“Nytt产品”、“产品”),
“菜单名称”=>“(“产品”、“产品”),
“未找到”=>(Inga Produktkategorier hittade.,“产品”),
“查看项目”=>“(“Se Produktkategorier”、“产品”),
);
$args=数组(
“标签”=>$labels,
“分层”=>正确,
'query_var'=>true,
'show_admin_column'=>true,
“重写”=>array('slug'=>'produkter'),
);
注册与分类(
//我们的分类名称
‘产品类别’、‘产品’、$args);
}
添加操作('init','create\u taxonomy\u products',0);
功能寄存器\自定义\发布\类型\产品(){
$labels=数组(
'name'=>x('Produkter','post-type-general name','products'),
“单数名称”=>\ux('Produkt','post-type单数名称','products'),
“菜单名称”=>\ux('Produkter'、'admin menu'、'products'),
'name\u admin\u bar'=>\u x('Produkter','addnew on admin bar','products'),
“添加新的”=>\u x('Lägg to nya Produkter','Produkter','Produkter','products'),
“添加新项目”=>(“Lägg至纽约产品”、“产品”),
“新产品”=>(“新产品”、“产品”),
“编辑项目”=>“(“产品”),
“查看项目”=>“(“Se产品”、“产品”),
“所有项目”=>(“所有产品”、“产品”),
“搜索项目”=>(“Sök Produkter”、“产品”),
“父项冒号”=>(“Förälder Produkter:”,“产品”),
“未找到”=>(“Ingen Produkter hittad.”,“产品”),
“未在垃圾桶中找到”=>(Ingen Produkt hittad i Papperkorgen.,“产品”),
“特色图片”=>(“Produktbild”、“products”),
“set_特色图片”=>(“Lägg till Produktbild”、“products”),
“删除特色图片”=>(“Ta bort Produktbild”、“产品”),
“使用特色图片”=>(“Använd Produktbild”、“products”),
);
$features=数组(
“头衔”,
“缩略图”,
"编辑",,
);
$args=数组(
“标签”=>$labels,
“public”=>正确,
“支持”=>$功能,
“has_archive”=>false,
“菜单图标”=>“仪表盘图标网络”,
“分类法”=>数组(
“产品类别”,
),
);
//自定义邮件类型的名称
注册后类型('products',$args);
}
添加操作('init'、'register'自定义\发布\类型\产品');
函数create_meta_box_products(){
添加元框(
“产品_metabox”,
“Produkter:”,
“创建元盒产品”,
"产品",,
“正常”,
“默认”
);
}
功能产品\元数据库($post){
回声'信息在这里';
}
添加操作(“添加元框”、“创建元框产品”);
函数create\u metabox\u products($post){
?>

键入产品名称

干杯,您可以使用archive-products.php实现归档

Wordpress为您的单个-{post_typ}.php和归档文件-{post typ}.php提供了一个WP_查询

无需重新声明WP\U查询:


存档{post-typ}.php的示例

<?php
get_header();
if(have_posts()) : while(have_posts()) : the_post();
    the_title();
    echo '<div class="entry-content">';
    the_content();
    echo '</div>';
endwhile; endif;
get_footer();
<?php get_header(); ?>

<main id="main" class="site-main" role="main">

    <?php
    // Start the loop
    while ( have_posts() ) : the_post();
        echo '<h1>';
        the_title();
        echo '</h1>';

        echo '<a href="';
        the_permalink();
        echo '">That\'s me! -> '; the_title(); 
        echo '</a>';

        the_content();
    // End the loop.
    endwhile;
    ?>

</main><!-- .site-main -->

<?php get_footer(); ?>


single-{post typ}.php的示例

<?php
get_header();
if(have_posts()) : while(have_posts()) : the_post();
    the_title();
    echo '<div class="entry-content">';
    the_content();
    echo '</div>';
endwhile; endif;
get_footer();
<?php get_header(); ?>

<main id="main" class="site-main" role="main">

    <?php
    // Start the loop
    while ( have_posts() ) : the_post();
        echo '<h1>';
        the_title();
        echo '</h1>';

        echo '<a href="';
        the_permalink();
        echo '">That\'s me! -> '; the_title(); 
        echo '</a>';

        the_content();
    // End the loop.
    endwhile;
    ?>

</main><!-- .site-main -->

<?php get_footer(); ?>



代码片段没有经过测试。希望我能帮你解决这个问题。

我终于做到了!多亏了Lukas R。我在我的单个页面(single products.php)中解释了没有重新声明wp_query-class。我无法让archive-products.php正常工作,但我已经有了用于此目的的自定义分类法归档,(taxonomy-product_category)。我所要做的就是在循环中包含我的字段

    <?php get_header(); ?>

<main id="main" class="site-main" role="main">
<?php
    // Start the loop
    while ( have_posts() ) : the_post();
        $products_intro = get_post_meta($post->ID, 'products_intro');
        $products_desc = get_post_meta($post->ID, 'products_desc'); 

        echo '<h1>';
        the_title();
        echo '</h1>';

        the_post_thumbnail();

        the_content();

        // Custom Metabox-fields
        $productsIntro = $products_intro[0] ? '<p class="products-title padd-bottom">'.$products_intro[0].'</p>' : '';
        echo isset($productsIntro) ? $productsIntro : '';   

        $productsdesc = $products_desc[0] ? '<p class="products-title padd-bottom">'.$products_desc[0].'</p>' : '';
        echo isset($productsdesc) ? $productsdesc : '';  

        // Advanced Custom Fields
        the_field('innehall');

    // End the loop.
    endwhile;
    ?>
</main>

<?php get_footer(); ?>

    <?php get_header(); ?>

<main id="main" class="site-main" role="main">
<?php
    // Start the loop
    while ( have_posts() ) : the_post();
        $products_intro = get_post_meta($post->ID, 'products_intro');
        $products_desc = get_post_meta($post->ID, 'products_desc'); 

        echo '<h1>';
        the_title();
        echo '</h1>';

        the_post_thumbnail();

        the_content();

        // Custom Metabox-fields
        $productsIntro = $products_intro[0] ? '<p class="products-title padd-bottom">'.$products_intro[0].'</p>' : '';
        echo isset($productsIntro) ? $productsIntro : '';   

        $productsdesc = $products_desc[0] ? '<p class="products-title padd-bottom">'.$products_desc[0].'</p>' : '';
        echo isset($productsdesc) ? $productsdesc : '';  

        // Advanced Custom Fields
        the_field('innehall');

    // End the loop.
    endwhile;
    ?>
</main>

<?php get_footer(); ?>