我有一个自定义的帖子类型(使用cmb2创建),它总是包含一个数字(也可以是零)。
有时我需要使用php将其增加1,所以我会这样做:
$value = (int) get_post_meta($post->ID,\'myfieldkey\',true); $value++; update_post_meta($post->ID,\'myfieldkey\', $value);
我想我可以通过这样做把它缩短一点:
$value = (int) get_post_meta($post->ID,\'myfieldkey\',true); update_post_meta($post->ID,\'myfieldkey\', ++$value);
但在我看来,对于这个简单的需求,这似乎是一个很长的代码。
My question is:有没有一种更短更有效的方法来完成同样的事情?(有时我会同时对多个字段执行相同的操作,因此这将真正帮助我减少使用的代码量。
最合适的回答,由SO网友:TheDeadMedic 整理而成
Enter WP_Post
还有“神奇”的获得者-你知道吗。。。
$value = get_post_meta( $post->ID, \'custom_field\', true );
。。。与相同
$value = $post->custom_field;
因此,您可以将代码缩短为:
update_post_meta( $post->ID, \'custom_field\', $post->custom_field + 1 );
注意你不能做
$post->custom_field++
- 由于该属性实际上不存在,因此无法修改。了解更多信息
overloading in PHP.