从ajax Im更新自定义用户字段,并使用短代码可视化适当的内容。
本地化jquery
function localise_jquery1410() {
wp_enqueue_script(\'jquery\');
wp_enqueue_script( \'control-panel\', LI_BASE_URL . \'js/control-panel.js\' , array(\'jquery\'),\'1.0\' , true);
wp_localize_script( \'control-panel\', \'ajax_var\', array(
\'ajaxurl\' => admin_url( \'admin-ajax.php\'),
)
);
}
add_action( \'wp_enqueue_scripts\', \'localise_jquery1410\' );
更新自定义用户字段
function user_setting_age(){
if ( isset( $_POST["age_var"] ) ) {
$update_uf = $_POST[\'age_var\'];
update_user_meta(get_current_user_id(), \'cp-age\', $update_uf);
die();
}
}
add_action( \'wp_ajax_age\', \'user_setting_age\' );
返回正确的内容
function select_age ($atts,$content) {
// as correctly answered by @Howdy_McGee this should be $content=\'\'
$age = $atts["age"];
$user_id = get_current_user_id();
$cuf = get_user_meta($user_id, \'cp-age\', true);
if($cuf==$age) {
return $content;
}
else {
return null;
}
}
//[set age="young"]Younger Content[/set] || [set age="old"]Elder Content[/set], etc...
add_shortcode( \'set\', \'select_age\' );
add_action(\'wpcf_after_init\', \'select_age\');
控制面板。js公司
jQuery(document).ready( function ($j) {
$j(\'#age\').on( "click", function() {
var data = {
action: \'age\',
age_var: \'young\'
};
$j.post(ajax_var.ajaxurl, data, function(response) {
location.reload();
});
return false;
});
});
我明白了
PHP警告:select\\u age()缺少参数2
谢谢你的阅读。