使用wordpress中增强的自定义类别插件在每个类别页脚中添加不同的文本字段



我已经尝试在页脚区域显示一个高级自定义字段好几个小时了,以便根据每个类别更改类别文本。一旦我离开content-ecp.php文件的作用域,类别ID就会更改。

使用the_field('content_under_products', $product_cat_id);?>中的$product_cat_id检索字段数据时。。

我没有得到存储字段内容的正确ID。正确的ID应该是(1034(,但我得到的是(108(。我知道,我可以将代码更改为the_field('content_under_products', 1034);?>,但这只适用于一个特定的页面,从侧面来说没有多大意义。

必须有一种方法来选择另一个ID。不幸的是,我对php的了解很少。所以我没能想出一个合适的解决方案,动态后ID。

如果有人能帮我,我将非常高兴。

以下是该页面的链接:https://praesenteente.de/geldgeschenke/我主要包括:

类别标题和说明(此处,字段可以正确显示(

wooccommerce产品

FOOTER(在这里,它没有显示(

听起来您只能访问content-ecp.php文件中的$product_cat_id。

我认为你应该检查一个逻辑问题:内容页面是针对单个视图的,所以当单个帖子/页面有一个id时,你想让它们在所有单个帖子中看起来都一样。

存档页面正在查看帖子的集合。变量PRODUCT_cat_id的名称不使用复数个products,让我假设您设置的变量值如下:

$product_cat_id = get_the_ID();

因此,当前查看的帖子的id被保存到变量中。这在单个页面中运行良好,但在档案中则不然。

当您查看一个类别时,您有一个您正在查看的术语的id。例如,该类别被称为"类别",您现在正在查看"鞋",这是一个类别术语。您可以使用获取当前查看类别术语页面的术语id

$cat_term_id = get_queried_object()->term_id;

现在您已经保存了类别术语的id。有了这个id,您现在可以获得类别描述文本,这是类别术语中的元字段。

$cat_description = get_field('content_under_products', $cat_term_id );

如果您的"content_under_products"字段是一个添加了acf到类别中的字段,那么这是有效的。我想这就是你想要的。

如果我弄错了你的问题,而你只想显示档案本身的描述(而不是类别/分类法的术语(,你可以使用:

$archive_description = get_the_archive_description();

https://developer.wordpress.org/reference/functions/the_archive_description/

最新更新