0
update_user_meta
を正しく使用する方法を理解するのが難しいです。今私は、ユーザーmeta_keyを更新する必要がある2つの関数があります。ただし、wp_head
フィルタが原因で、毎回theme_levels
関数がajax関数をオーバーライドします。より良い方法がありますか?update_user_metaの適切な使用
function theme_levels() {
$value = user_total_posts(get_current_user_id())
if($value >= '0' && $value <= '499') {
$levels[] = array(
'level' => 'level-1',
);
update_user_meta($user_id, 'author_level', $levels);
} else {
...
}
}
add_action('wp_head', 'theme_levels');
を次のように
私のコードは、私が同じユーザmeta_keyに別の配列を追加する必要があり、AJAXコールバックを持っています。
array(1) {
[0]=> array(2) {
["level"] => string(10) "level-1" // this will be added if user is logged in and reached the level
["notification"] => string(28) "level-1-notification-read" // this should be added after the AJAX call
}
}
すべてのヘルプははるかに高く評価されています
function ajax_callback() {
if(! empty($_POST['data-id'])) {
$levels[] = array(
'notification' => sanitize_text_field($_POST['data-id']),
);
update_user_meta($user_id, 'author_level', $levels);
}
wp_die();
}
add_action('wp_ajax_theme_ajax', 'ajax_callback');
は、これは私が(それが一部var_dump
$levels
にもあります)それになりたい方法です。
こんにちは、私のPHPファイル '$ user_id'は' get_current_user_id() 'として定義されていますが、何とかここに私の投稿に追加するのを忘れました。それを指摘してくれてありがとう。つまり、私の問題はまだ残っています。 'theme_levels()'関数がAJAX関数をオーバーライドするのを止めるには? – kiarashi