每次访问页面时,用户元数据递增1

时间:2018-09-20 作者:M. F.

我一辈子都搞不明白为什么这不起作用,我试过用下面的$val,我试过把get\\u user\\u meta插入meta\\u值,我试过只在meta\\u值中加上+1,但不管怎样,它总是将元数据的值设置为我试图增加的数字,所以如果它的+1,它将被设置为1和+4到4。

if(!get_user_meta(bp_displayed_user_id(), \'page_visits\', true) >= 0){
    update_user_meta(bp_displayed_user_id(), \'page_visits\', 0);
}
$val = get_user_meta(bp_displayed_user_id(), \'page_visits\', true) + 1;
update_user_meta(bp_displayed_user_id(), \'page_visits\', $val);

1 个回复
最合适的回答,由SO网友:Otto 整理而成

这条线错了。

if(!get_user_meta(bp_displayed_user_id(), \'page_visits\', true) >= 0){

即“值不大于或等于零”。NOT运算符的优先级高于“大于”比较。

因此,假设该值是一个数字,则没有一个数字的计算结果为false。然后将false与大于或等于零进行比较。False==零,因此其计算结果为true,这意味着在下一行中,您将显式地将其设置为零。

因此,运算符优先级可能会把您搞砸。在对比较求反之前,请尝试在其周围添加括号。

if ( !( get_user_meta( bp_displayed_user_id(), \'page_visits\', true ) >= 0 ) ) {

此外,像这样在用户元中计算页面访问量对性能来说是相当可怕的。最好使用其他真正的分析解决方案。

结束

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: