英语蹩脚的简单愚蠢问题。 我需要以可以过滤的方式将帖子标题保存/更新为元字段(通过 Jetsmatrfilter 或其他过滤器)
我有一些自定义帖子,其中包含使用 JetEngine 构建的文本、文本区域、复选框和收音机(但与 acf 兼容)。
现在我正在尝试为这个自定义帖子构建一些视觉过滤器。问题是过滤器(下拉菜单)仅适用于通过复选框、单选或选择字段添加的值。
我添加了一个脚本,将帖子标题保存为帖子元,但它是一个文本字段,因此过滤器不起作用。
function wpse_275785_save_title_as_meta( $post_id, $post, $update ) {
update_post_meta( $post_id, 'post_title', $post->post_title );
}
add_action( 'save_post', 'wpse_275785_save_title_as_meta', 99, 3 );
有没有办法将帖子标题自动保存为选中的单选按钮或复选框?如果我也更新帖子,这是一种有效的方法。
还有另一种方法可以将帖子标题保存为可以过滤的字段吗?
问题在于数据类型:文本字段通常无法像复选框、单选框或选择字段那样进行过滤。
这是一个 PHP 函数,它将帖子标题保存在序列化数组中,模仿复选框的行为:
function wpse_275785_save_title_as_meta( $post_id, $post, $update ) {
// Mimic checkbox data structure
$checkbox_data = array(
'0' => $post->post_title
);
// Serialize the array for storage
$serialized_data = maybe_serialize($checkbox_data);
// Update the post meta
update_post_meta( $post_id, 'post_title_checkbox', $serialized_data );
}
add_action( 'save_post', 'wpse_275785_save_title_as_meta', 99, 3 );
将
post_title_checkbox
更改为您计划使用的实际元键,并确保将您的过滤器配置为指向这个新的元键。