You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress首页无法显示Custom Post Type及ACF字段问题排查

可能的原因及解决方法

1. 自定义文章类型的可查询参数未正确配置

注册affichage_produit时,如果public或publicly_queryable参数设为false,WP_Query将无法获取到该类型的文章。

  • 检查注册CPT的代码,确保包含以下参数:
    'public' => true,
    'publicly_queryable' => true,
    

2. ACF Post Object字段返回值类型不匹配

ACF的Post Object字段默认返回WP_Post对象,而非文章ID,你的代码直接用返回值作为产品ID传入wc_get_product()会导致获取失败。

  • 两种解决方式:
    • 进入ACF字段设置,将「返回值」改为「Post ID」;
    • 修改代码适配对象返回值:
      $product_post = get_field('associated_product');
      if ($product_post) {
          $product_id = $product_post->ID;
          $product = wc_get_product($product_id);
      }
      

3. 文章状态过滤问题

WP_Query默认只查询publish状态的文章,如果你的affichage_produit文章是草稿、待审核或私有状态,会被过滤掉。

  • 需要在查询参数中添加允许的文章状态:
    $args = array(
        'post_type' => 'affichage_produit',
        'posts_per_page' => 2,
        'post_status' => array('publish', 'draft') // 根据实际状态调整
    );
    

4. 首页模板未正确加载

确认当前主题的首页确实使用front-page.php,部分主题可能用home.php或自定义模板替代。

  • 可以在front-page.php顶部添加测试代码:echo 'Front Page Template Loaded';,刷新首页验证模板是否生效。

5. 关联产品状态异常

即使已设置关联产品,若产品已被删除、设为私有,或不属于WooCommerce产品类型(如普通文章),wc_get_product()会返回false,导致内容不显示。

  • 临时添加调试代码排查:
    var_dump($product_id); // 查看获取到的关联值
    var_dump($product); // 查看产品对象是否有效
    

内容的提问来源于stack exchange,提问作者shibz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 22:55:01