added company based filter and user meta
This commit is contained in:
51
includes/class-partnerexpo-core-user-fields.php
Normal file
51
includes/class-partnerexpo-core-user-fields.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Used to register custom user fields.
|
||||
*
|
||||
* @link https://github.com/Duskell
|
||||
* @since 1.1.0
|
||||
* @package Partnerexpo_Core
|
||||
* @subpackage Partnerexpo_Core/includes
|
||||
* @author Juhász Levente <juhasz.levente@rendszerepito.hu>
|
||||
*/
|
||||
class Partnerexpo_Core_User_Fields {
|
||||
public function activate_fields() {
|
||||
add_action( 'show_user_profile', [$this, 'add_custom_user_fields'] );
|
||||
add_action( 'edit_user_profile', [$this, 'add_custom_user_fields'] );
|
||||
add_action( 'personal_options_update', [$this, 'save_custom_user_fields'] );
|
||||
add_action( 'edit_user_profile_update', [$this, 'save_custom_user_fields'] );
|
||||
add_action( 'user_register', [$this, 'add_value_after_reg'] );
|
||||
}
|
||||
|
||||
public function add_custom_user_fields( $user ) {
|
||||
$company = get_user_meta( $user->ID, 'company', true );
|
||||
?>
|
||||
<h3>Additional Information</h3>
|
||||
<table class="form-table">
|
||||
<tr>
|
||||
<th><label for="company"><?php _e( 'Cég neve', 'partnerexpo-core' ) ?></label></th>
|
||||
<td>
|
||||
<input type="text" name="company" id="company" value="<?php echo esc_attr( $company ) ?>" class="regular-text" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
|
||||
public function save_custom_user_fields( $user_id ) {
|
||||
if( ! isset( $_POST[ '_wpnonce' ] ) || ! wp_verify_nonce( $_POST[ '_wpnonce' ], 'update-user_' . $user_id ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if( ! current_user_can( 'edit_user', $user_id ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
update_user_meta( $user_id, 'company', sanitize_text_field( $_POST[ 'company' ] ) );
|
||||
}
|
||||
|
||||
public function add_value_after_reg( $user_id ) {
|
||||
update_user_meta( $user_id, 'company', sanitize_text_field( $_POST[ 'company' ] ?? '' ) );
|
||||
}
|
||||
}
|
||||
@@ -121,9 +121,19 @@ class Partnerexpo_Core {
|
||||
*/
|
||||
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'public/class-partnerexpo-core-public.php';
|
||||
|
||||
/**
|
||||
* Used to have relevance-based search results.
|
||||
*/
|
||||
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/dependency/class-query-w-relevance.php';
|
||||
|
||||
/**
|
||||
* The class responsible for registering custom user fields.
|
||||
*/
|
||||
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-partnerexpo-core-user-fields.php';
|
||||
|
||||
$this->loader = new Partnerexpo_Core_Loader();
|
||||
$user_fields = new Partnerexpo_Core_User_Fields();
|
||||
$user_fields->activate_fields();
|
||||
|
||||
}
|
||||
|
||||
@@ -209,7 +219,7 @@ class Partnerexpo_Core {
|
||||
'public' => true,
|
||||
'has_archive' => false,
|
||||
'show_in_rest' => true,
|
||||
'supports' => [ 'title', 'editor', 'thumbnail', 'excerpt' ],
|
||||
'supports' => [ 'title', 'editor', 'thumbnail', 'excerpt', 'author' ],
|
||||
'rewrite' => [
|
||||
'slug' => __( 'partnerek', 'partnerexpo-core' ),
|
||||
'pages' => false,
|
||||
|
||||
Reference in New Issue
Block a user