如何最有效地将自定义帖子价值增加一个?

时间:2016-11-27 作者:Ben

我有一个自定义的帖子类型(使用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:有没有一种更短更有效的方法来完成同样的事情?(有时我会同时对多个字段执行相同的操作,因此这将真正帮助我减少使用的代码量。

1 个回复
最合适的回答,由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.