如何根据wordpress中的当前帖子自动选择一个值?
Posted
技术标签:
【中文标题】如何根据wordpress中的当前帖子自动选择一个值?【英文标题】:How to auto select a value according to current post in wordpress? 【发布时间】:2021-04-30 21:53:42 【问题描述】:我正在尝试在single-services.php
页面上显示自动选择值,而服务是我的自定义帖子类型。在single-services.php
页面上,我有一个选择框,其中显示了由联系表单 7 插件创建的选项中的所有服务帖子标题。我想知道如何根据用户当前访问的服务帖子自动选择选项值。
这是我在functions.php的选择框中添加所有服务帖子的函数
function add_posttype_to_CF7 ( $tag, $unused )
if ( $tag['name'] != 'services' )
//continue only for the specific field - here we check by the name of the field
return $tag;
//get a list of all active services
$services = get_posts(array(
'post_type' => 'service',
'post_status' => 'publish',
'posts_per_page' => -1
));
foreach ( $services as &$services )
$tag['raw_values'][] = $services->post_title;
$tag['values'][] = $services->post_title;
$tag['labels'][] = $services->post_title;
return $tag;
add_filter( 'wpcf7_form_tag', 'add_posttype_to_CF7', 10, 2);
【问题讨论】:
您是否在add_posttype_to_CF7
函数中尝试过get_queried_object()
?通过这种方式,您可以获得所需的信息,从而自己处理所选值。我不确定您是否可以从 wpcf7_form_tag
声明所选值,但如果可以,也许 get_queried_object()
可以提供帮助。
或者,您可以编写一些 javascript 代码,例如:<script type="text/javascript">let select = document.querySelector('select.services_field'); select && select.val = '<?php $queried_object = get_queried_object(); echo $queried_object->ID; ?>'</script>
。
@KodeFor.Me 感谢您的回答是的,我得到了get_queried_object()
的当前帖子,但我解决了我的问题。无论如何,再次感谢。
【参考方案1】:
我用 JQuery 解决了我的问题。
<script>
jQuery(document).ready( function($)
var h1Text = "<?php echo $service_title ?>";
jQuery('#service_id[name="services"]').find('option[value="'+h1Text+'"]').prop("selected",true);
);</script>
【讨论】:
以上是关于如何根据wordpress中的当前帖子自动选择一个值?的主要内容,如果未能解决你的问题,请参考以下文章
根据 Wordpress 中的自定义字段值批量重写帖子 slug
如何在MySQL中加入查询以根据距离计算和Google地理编码查找WordPress帖子?
如何使用 javascript 在 wordpress 中自动选择一个类别?