【发布时间】:2021-05-15 10:08:29
【问题描述】:
我正在尝试通过高级自定义字段在 WooCommerce 供应商页面上显示一组自定义字段。对于基本供应商功能,我使用以下插件:https://woocommerce.com/products/product-vendors/
我在 ACF 字段组下添加了自定义字段,并将显示规则设置为“分类»供应商”。完成此操作后,自定义字段将显示在每个单独的“编辑供应商”仪表板中。
在供应商插件文件中,我找到了我想显示自定义字段的位置,位于文件 WooCommerce Product Vendors / includes / woocommerce-product-vendors/includes/class-wc-product-vendors-vendor-frontend.php 的第 210 行
最初我尝试使用以下基本 ACF 代码来显示自定义字段,但无济于事:
<p id="sample"><?php the_field('field_name'); ?></p>
我也尝试将字段保存为变量然后显示它,再次无济于事:
<?php
$variable = get_field('field_name');
echo '<p>' . $variable . '</p>';
?>
在这两个示例中,<p> 包装元素都显示在前端,但自定义字段/变量没有。
我发现一个有趣的事情是,当我使用 ACF 在 WordPress 仪表板中创建一个额外的选项面板时,我可以轻松地从供应商页面的选项面板中显示这些变量。以下是我用来创建此选项面板的functions.php 代码:
if( function_exists('acf_add_options_page') ) {
acf_add_options_page(array(
'page_title' => 'Additional Theme Options',
'menu_title' => 'Additional Theme Options',
'menu_slug' => 'additional-Theme-options',
'capability' => 'edit_posts',
'redirect' => false
));
}
然后在上面引用的插件文件中,如果我插入以下脚本,它会完美地显示选项面板字段:
<?php the_field('sample_option_field', 'option'); ?>
选项面板路由的问题在于,这些都是全局的、单一的变量,而不是在每个供应商的基础上注册。
谢谢!
【问题讨论】:
标签: wordpress woocommerce advanced-custom-fields vendor wcvendors