如何在WordPress中借助HTTP Referer回显来源文章ACF自定义字段值
获取来源文章的ACF自定义字段值
需求说明
点击网站下载按钮跳转到目标页后,需在目标页回显来源文章的高级自定义字段(ACF)url的值。目前已有代码可正常获取来源文章标题,现需扩展功能获取指定自定义字段。
现有可用代码
<?php $url = htmlspecialchars($_SERVER['HTTP_REFERER']); $back_id = url_to_postid($_SERVER['HTTP_REFERER']); if( $back_id > 0 ){ $back_title = get_the_title( $back_id ); echo "<a href='{$url}'>Go back to the {$back_title}</a>"; } ?>
修改后的代码(获取自定义字段url)
要获取ACF自定义字段url的值,可使用ACF提供的get_field()函数(区别于前端渲染用的the_field(),get_field()需传入字段名和目标文章ID来后台取值):
<?php $referer_url = htmlspecialchars($_SERVER['HTTP_REFERER']); $source_post_id = url_to_postid($_SERVER['HTTP_REFERER']); if( $source_post_id > 0 ){ // 获取来源文章标题 $source_post_title = get_the_title( $source_post_id ); // 获取ACF自定义字段url的值 $source_custom_url = get_field('url', $source_post_id); echo "<a href='{$referer_url}'>返回文章:{$source_post_title}</a>"; // 非空判断后输出自定义字段值 if($source_custom_url){ echo "<p>来源文章自定义URL:{$source_custom_url}</p>"; } } ?>
关键说明
get_field('url', $source_post_id):第一个参数为ACF字段名称,第二个参数传入来源文章ID,即可精准获取对应文章的指定自定义字段值。- 增加字段非空判断,避免字段未赋值时输出无效内容。
内容的提问来源于stack exchange,提问作者Raja Mohsin
相关产品推荐
相关产品推荐

