Fix User meta
This commit is contained in:
parent
9a63296596
commit
577385c98a
@ -4,11 +4,11 @@ jQuery( document ).ready( function ( $ ) {
|
||||
* Country select.
|
||||
*/
|
||||
var $country_el = $( '.opalestate-submission-form #opalestate_ppt_location, [name="location"],' +
|
||||
' [name="opalestate_ofe_location"], [name="opalestate_agt_location"]' ),
|
||||
' [name="opalestate_ofe_location"], [name="opalestate_agt_location"], [name="opalestate_user_location"]' ),
|
||||
$state_el = $( '.opalestate-submission-form #opalestate_ppt_state, [name="state"],' +
|
||||
' [name="opalestate_ofe_state"], [name="opalestate_agt_state"]' ),
|
||||
' [name="opalestate_ofe_state"], [name="opalestate_agt_state"], [name="opalestate_user_state"]' ),
|
||||
$city_el = $( '.opalestate-submission-form #opalestate_ppt_city, [name="city"],' +
|
||||
' [name="opalestate_ofe_city"], [name="opalestate_agt_city"]' );
|
||||
' [name="opalestate_ofe_city"], [name="opalestate_agt_city"], [name="opalestate_user_city"]' );
|
||||
|
||||
$country_el.each( function () {
|
||||
if ( $( this ).val() != '' && $( this ).val() != '-1' ) {
|
||||
|
@ -22,10 +22,8 @@ class Opalestate_Admin_Agent {
|
||||
* Auto update meta information to post from user data updated or created
|
||||
*/
|
||||
public function __construct() {
|
||||
|
||||
add_action( 'cmb2_admin_init', [ $this, 'metaboxes' ] );
|
||||
add_action( 'save_post', [ $this, 'save_post' ], 10, 3 );
|
||||
|
||||
add_action( 'user_register', [ $this, 'on_update_user' ], 10, 1 );
|
||||
add_action( 'profile_update', [ $this, 'on_update_user' ], 10, 1 );
|
||||
}
|
||||
@ -37,6 +35,8 @@ class Opalestate_Admin_Agent {
|
||||
if ( isset( $_POST['user_id'] ) && (int) $_POST['user_id'] && isset( $_POST['role'] ) ) {
|
||||
if ( $_POST['role'] == 'opalestate_agent' ) {
|
||||
$user_id = absint( $_POST['user_id'] );
|
||||
static::update_user_metas( $user_id );
|
||||
|
||||
$related_id = get_user_meta( $user_id, OPALESTATE_USER_PROFILE_PREFIX . 'related_id', true );
|
||||
$post = get_post( $related_id );
|
||||
|
||||
@ -47,6 +47,38 @@ class Opalestate_Admin_Agent {
|
||||
}
|
||||
}
|
||||
|
||||
public function save_post( $post_id, $post, $update ) {
|
||||
$post_type = get_post_type( $post_id );
|
||||
if ( $post_type == 'opalestate_agent' ) {
|
||||
if ( isset( $_POST[ OPALESTATE_AGENT_PREFIX . 'user_id' ] ) && absint( $_POST[ OPALESTATE_AGENT_PREFIX . 'user_id' ] ) ) {
|
||||
$user_id = absint( $_POST[ OPALESTATE_AGENT_PREFIX . 'user_id' ] );
|
||||
update_user_meta( $user_id, OPALESTATE_USER_PROFILE_PREFIX . 'related_id', $post_id );
|
||||
|
||||
OpalEstate_Agent::update_user_data( $user_id );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update some user metas.
|
||||
*
|
||||
* @param int $related_id Post ID.
|
||||
*/
|
||||
public static function update_user_metas( $user_id ) {
|
||||
$terms = [
|
||||
'location',
|
||||
'state',
|
||||
'city',
|
||||
];
|
||||
|
||||
foreach ( $terms as $term ) {
|
||||
if ( isset( $_POST[ OPALESTATE_USER_PROFILE_PREFIX . $term ] ) ) {
|
||||
update_user_meta( $user_id, OPALESTATE_USER_PROFILE_PREFIX . $term, $_POST[ OPALESTATE_USER_PROFILE_PREFIX . $term ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ -103,19 +135,6 @@ class Opalestate_Admin_Agent {
|
||||
] );
|
||||
}
|
||||
}
|
||||
|
||||
public function save_post( $post_id, $post, $update ) {
|
||||
$post_type = get_post_type( $post_id );
|
||||
if ( $post_type == 'opalestate_agent' ) {
|
||||
if ( isset( $_POST[ OPALESTATE_AGENT_PREFIX . 'user_id' ] ) && absint( $_POST[ OPALESTATE_AGENT_PREFIX . 'user_id' ] ) ) {
|
||||
$user_id = absint( $_POST[ OPALESTATE_AGENT_PREFIX . 'user_id' ] );
|
||||
update_user_meta( $user_id, OPALESTATE_USER_PROFILE_PREFIX . 'related_id', $post_id );
|
||||
|
||||
OpalEstate_Agent::update_user_data( $user_id );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
new Opalestate_Admin_Agent();
|
||||
|
@ -179,7 +179,7 @@ class OpalEstate_Agent {
|
||||
/**
|
||||
* Update user data.
|
||||
*
|
||||
* @param $user_id User ID.
|
||||
* @param int $user_id User ID.
|
||||
*/
|
||||
public static function update_user_data( $user_id ) {
|
||||
$fields = self::metaboxes_fields();
|
||||
@ -199,6 +199,8 @@ class OpalEstate_Agent {
|
||||
}
|
||||
}
|
||||
|
||||
static::update_user_object_terms( $user_id );
|
||||
|
||||
// update for others
|
||||
foreach ( $others as $key => $value ) {
|
||||
$kpos = OPALESTATE_AGENT_PREFIX . $key;
|
||||
@ -212,7 +214,7 @@ class OpalEstate_Agent {
|
||||
/**
|
||||
* Update data from user.
|
||||
*
|
||||
* @param $related_id Post ID.
|
||||
* @param int $related_id Post ID.
|
||||
*/
|
||||
public static function update_data_from_user( $related_id ) {
|
||||
$fields = self::metaboxes_fields();
|
||||
@ -232,6 +234,8 @@ class OpalEstate_Agent {
|
||||
}
|
||||
}
|
||||
|
||||
static::update_post_object_terms( $related_id );
|
||||
|
||||
// update for others
|
||||
foreach ( $others as $key => $value ) {
|
||||
$kpos = OPALESTATE_USER_PROFILE_PREFIX . $key;
|
||||
@ -240,6 +244,46 @@ class OpalEstate_Agent {
|
||||
update_post_meta( $related_id, OPALESTATE_AGENT_PREFIX . $key, $data );
|
||||
}
|
||||
}
|
||||
|
||||
do_action( 'opalestate_update_agent_data_from_user', $related_id );
|
||||
}
|
||||
|
||||
/**
|
||||
* Update object terms.
|
||||
*
|
||||
* @param int $related_id Post ID.
|
||||
*/
|
||||
public static function update_post_object_terms( $related_id ) {
|
||||
$terms = [
|
||||
'location',
|
||||
'state',
|
||||
'city',
|
||||
];
|
||||
|
||||
foreach ( $terms as $term ) {
|
||||
if ( isset( $_POST[ OPALESTATE_USER_PROFILE_PREFIX . $term ] ) ) {
|
||||
wp_set_object_terms( $related_id, $_POST[ OPALESTATE_USER_PROFILE_PREFIX . $term ], 'opalestate_' . $term );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update object terms.
|
||||
*
|
||||
* @param int $related_id Post ID.
|
||||
*/
|
||||
public static function update_user_object_terms( $user_id ) {
|
||||
$terms = [
|
||||
'location',
|
||||
'state',
|
||||
'city',
|
||||
];
|
||||
|
||||
foreach ( $terms as $term ) {
|
||||
if ( isset( $_POST[ OPALESTATE_AGENT_PREFIX . $term ] ) ) {
|
||||
wp_set_object_terms( $user_id, $_POST[ OPALESTATE_AGENT_PREFIX . $term ], 'opalestate_' . $term );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user