【问题标题】:Wordpress Custom Fields Integration into ThemeWordPress 自定义字段集成到主题中
【发布时间】:2014-02-19 21:30:10
【问题描述】:

好的,我正在使用高级自定义字段插件为各种类别创建自定义字段。我已经在网上搜索了几个小时的解决方案,以便将它们实际集成到模板 php 中以显示。我将它应用到一个名为 archive-product.php 的页面,并从基于当前类别的自定义字段中提取。

这是我用来拉取名为 slide_title_1 的自定义字段的代码

<?php the_field("slide_title_1", $category_id); ?>

我是否需要在其他地方添加代码或变量才能使其正常工作?

非常感谢任何帮助。提前谢谢你,

【问题讨论】:

  • $category_id 在哪里定义?您是否使用附加到名为 product 的自定义帖子类型或自定义分类法或其他一些设置的实际帖子类别?这段代码在循环中吗? archive-product.php 是典型的存档模板还是其他一些自定义页面模板?发布一些更详细的上下文(例如自定义帖子类型/分类法说明)以及更多代码,以便我们可以更多地了解您如何尝试这样做,否则这将很难解决。
  • 当然,非常感谢。我在循环之外,因为我正在使用 Woocommerce archive-product.php 模板。我已将自定义字段添加到“产品类别”。我现在尝试将该自定义字段称为“slide_title_1”。但是我希望它对每个类别都是通用的……如果这有意义的话。我希望每个类别页面都提取特定类别的 slide_title_1 自定义字段..

标签: php wordpress advanced-custom-fields


【解决方案1】:

我怀疑这不起作用,因为您尚未定义 $category_id。

执行以下操作:

<?php
// Your code is in an archive template file so make sure a category is shown.
if ( is_product_category() ) {
    // Get the category ID.
    $category_id = get_query_var( 'product_cat' );

    // Output the custom field.
    the_field( 'slide_title_1', 'product_cat_' . $category_id );
} ?>

模板文件也将用于名为“产品”的自定义帖子类型。您知道内置类别和自定义分类之间的区别吗?

更新:由于您使用的是 WooCommerce 产品类别,因此我更新了代码。

【讨论】:

  • 看起来他正在使用 woocommerce 产品类别自定义分类而不是默认类别分类,但如果此代码相应更新,我敢打赌它会解决他的问题。
  • 好的,我试过了,但这似乎仍然没有显示任何结果。我实在想不通为什么。从逻辑上讲,一切似乎都会奏效。
  • 有趣的是,在该存档页面下方的代码中,我可以调用它,它确实提取了描述

  • 其实,Ennui 谢谢你,我才看到你的评论。我将如何更新 Nathan 的代码以反映 WooCommerce 自定义分类法?这是一个明显的修复吗? (请原谅我,我对广泛的 woocommerce 更改也比较陌生)
  • &lt;?php echo category_description( $category_id ); ?&gt; 可能有效,但这是因为 ID 是可选的。如果需要有效的 ID,它将失败。同样在 ACF 文档中,它告诉您如何在类别中显示这些值。您正在使用的代码用于发布。
猜你喜欢
  • 1970-01-01
  • 2015-03-15
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
  • 2015-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多