所以我想在WP中获得自定义的发布值。事情是我可以有多个自定义字段的值。所以我不想在代码中进行硬编码。我在想什么做的是提供一个前缀的键值像WordPress的获取自定义字段值
abc_email
abc_website
,所以我想用这个功能
get_post_meta
或其他一些把所有的键,值对以abc开头。这样我可以在后端添加值,而不必更新我的代码。一种方法是使用上述函数获取所有元数据,然后遍历它并过滤。但是,在我寻找的模式中,有没有其他方式可以发送?
感谢
所以我想在WP中获得自定义的发布值。事情是我可以有多个自定义字段的值。所以我不想在代码中进行硬编码。我在想什么做的是提供一个前缀的键值像WordPress的获取自定义字段值
abc_email
abc_website
,所以我想用这个功能
get_post_meta
或其他一些把所有的键,值对以abc开头。这样我可以在后端添加值,而不必更新我的代码。一种方法是使用上述函数获取所有元数据,然后遍历它并过滤。但是,在我寻找的模式中,有没有其他方式可以发送?
感谢
你可以直接查询该数据库包含前缀(相关表格等在这里https://wordpress.stackexchange.com/questions/104434/where-are-custom-field-values-stored-in-the-database)
我可能会丢失你的问题的东西,但,这似乎直截了当:
您正在试图避免这种情况:
process_field($abc_known1);
process_field($abc_known2);
// continually edit code for new entries e.g.:
process_field($abc_NEW1);
像这样的事情将处理后来增加而不修改。
// get array of ALL cust fields for post
$all_cust_fields = get_post_meta(get_queried_object_id());
foreach ($all_cust_fields as $key => $value) {
// some function for determing if $value starts with "abc_"
// if so either:
// add to an "abc" array for later use/processing
// or take action in this loop e.g.
process_field($value);
}
我不确定您是否在讨论键或值的前缀“abc_”,但同样的原则适用。
你看过文档吗? https://developer.wordpress.org/reference/functions/get_post_meta/#comment-2124 –