我有一个名为machine的自定义post类型和一个自定义字段reference\\u number。我想在创建新机器时向自定义字段添加一个默认值,并在保存之前显示该值。
以下是我到目前为止的想法。
function set_default_meta($post_ID){
$current_field_value = get_post_meta($post_ID,\'reference_number\',true);
// this needs to be like, machine 1, machine 2, ..
$default_meta = \'machine \';
if ($current_field_value == \'\' && !wp_is_post_revision($post_ID)){
add_post_meta($post_ID,\'reference_number\',$default_meta,true);
}
return $post_ID;
}
add_action(\'wp_insert_post\',\'set_default_meta\');
该代码起作用,并将“machine”值添加到自定义字段,但只有在保存帖子之后。当我刚开始添加帖子时,如何显示它。我如何在每个新帖子中添加一个增加一个的计数器变量。
谢谢
编辑
非常感谢@s\\u ha\\u dum的代码,我还问了
question 在Pods论坛上,他们在全局变量方面提供了很多帮助。所以最后的代码是
1-在pods admin中添加全局变量作为默认值
{@globals.reference_number}
2-在函数中添加此代码。php
// Set reference number to be dynamicaly increased every time machine created.
function get_next_reference_number() {
global $wpdb;
$ref = $wpdb->get_var("SELECT max(cast(meta_value as unsigned)) FROM wp_postmeta WHERE meta_key=\'reference_number\'");
$GLOBALS[ \'reference_number\' ] = (!empty($ref)) ? $ref + 1 : 1;
}
add_action(\'wp_insert_post\',\'get_next_reference_number\');
这是可行的。