无法解析 acf 字段中的简码(wordpress)
Posted
技术标签:
【中文标题】无法解析 acf 字段中的简码(wordpress)【英文标题】:Can't parse shortcode inside an acf field (wordpress) 【发布时间】:2021-09-27 17:13:04 【问题描述】:我需要解析一个短代码 [ajaxdomainchecker]。 我采取了如下措施,但它不解析简码,只显示简码文本。 (我尝试了 acf 字段中的简码,它会解析简码。 $myvalue = get_field("field_60f5d9a277654"); echo do_shortcode($myvalue); 问题:它不直接解析 acf 字段中的短代码。 解析后的代码显示 php 代码所在的位置。) 请告诉我如何解析短代码?
-
在所见即所得编辑器字段中添加了一个短代码 [ajaxdomainchecker]:
$post = get_post();
echo do_shortcode(get_post_meta($post->ID, 'testsc', $single = true));
3.在functions.php中添加了以下代码,但显示了一个短代码文本:
function my_acf_format_value( $value, $post_id, $field )
return do_shortcode( $value );
add_filter('acf/format_value/key=field_90f5c9a536352', 'my_acf_format_value', 10, 3);
谢谢。
【问题讨论】:
您是否在常规文件中尝试过echo do_shortcode('[ajaxdomainchecker]')
?像front-page.php
,可能是这个简码甚至不存在,这就是它返回简码文本的原因
您好:感谢您的评论。我在 acf 字段中尝试了它并加载了简码。它只是没有加载到 acf 字段中......
你的 textarea 是如何设置的?对于每个新行,您很可能将其设置为 p
或 br
,而是尝试将其设置为 no format
或使用纯文本字段
嗨 Buttered:哦.. 我查看了 acf 字段,但找不到 fromat 函数。我应该将标签设置为仅文本,那么它将没有格式?请告诉我如何设置?
textarea 的格式位于new lines
,如果需要,我可以添加图像。如果仍然找不到,请尝试将 textarea
字段替换为 text
【参考方案1】:
-
所见即所得编辑器是 ACF 字段的错误选择,请将其改为文本字段。
ACF自带
get_field()
,为什么还要使用get_post_meta()
?
试试:
$my_shortcode = get_field('testsc');
if ($my_shortcode)
$my_shortcode_content = do_shortcode($my_shortcode);
if ($my_shortcode_content)
echo $my_shortcode_content);
else
echo 'Shortcode found, but is empty';
else
echo 'Unavailable';
如果需要,您可以将帖子 ID 作为第二个参数添加到 get_field()
:
https://www.advancedcustomfields.com/resources/get_field/
【讨论】:
您好 Hillel:感谢您的帮助。请让我知道我必须在哪里添加代码?在functions.php中?还是在单个帖子页面中? 我在一个帖子页面中添加了您的代码,但该页面没有显示任何内容...我尝试了 $myvalue = get_field( "field_60f5d9a279544" ); echo do_shortcode($myvalue);它加载简码,但问题是它不解析文本字段内的代码。它显示了我在其中放置 php 代码的简码......我需要解析 acf 字段内的简码...... 对于您的第一个问题,在单个帖子页面的 TEMPLATE 文件中(例如您的主题目录中的 single.php)。至于第二条评论,不要使用 get_field() 的字段 id,使用 field_name。 (我建议你去 ACF 网站,那里有很棒的文档,还有你可以使用的代码示例) 您好 Hillel:感谢您的评论。我在我的单个帖子模板中尝试过,但整个页面什么都没有显示。我阅读了 ACF 的 cmets,它说所见即所得只能解析短代码。所以我也试过了,但它仍然无法解析......还是谢谢你:)以上是关于无法解析 acf 字段中的简码(wordpress)的主要内容,如果未能解决你的问题,请参考以下文章
从 WooCommerce 购物车中的产品中获取 ACF 图像字段的数据
Gatsby Wordpress ACF 图像字段返回“null”