PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.3
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.3
28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 19.1 All 128 releases
wordpress-seo / admin / class-admin-user-profile.php

class-admin-user-profile.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.3, at admin/class-admin-user-profile.php

74 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Admin
6 * @since 1.8.0
7 */
8
9 /**
10 * Customizes user profile.
11 */
12 class WPSEO_Admin_User_Profile {
13
14 /**
15 * Class constructor.
16 */
17 public function __construct() {
18 add_action( 'update_user_meta', [ $this, 'clear_author_sitemap_cache' ], 10, 3 );
19 }
20
21 /**
22 * Clear author sitemap cache when settings are changed.
23 *
24 * @since 3.1
25 *
26 * @param int $meta_id The ID of the meta option changed.
27 * @param int $object_id The ID of the user.
28 * @param string $meta_key The key of the meta field changed.
29 *
30 * @return void
31 */
32 public function clear_author_sitemap_cache( $meta_id, $object_id, $meta_key ) {
33 if ( $meta_key === '_yoast_wpseo_profile_updated' ) {
34 WPSEO_Sitemaps_Cache::clear( [ 'author' ] );
35 }
36 }
37
38 /**
39 * Updates the user metas that (might) have been set on the user profile page.
40 *
41 * @deprecated 22.6
42 * @codeCoverageIgnore
43 *
44 * @param int $user_id User ID of the updated user.
45 *
46 * @return void
47 */
48 public function process_user_option_update( $user_id ) {
49 _deprecated_function( __METHOD__, 'Yoast SEO 22.6' );
50
51 update_user_meta( $user_id, '_yoast_wpseo_profile_updated', time() );
52
53 if ( ! check_admin_referer( 'wpseo_user_profile_update', 'wpseo_nonce' ) ) {
54 return;
55 }
56
57 $wpseo_author_title = isset( $_POST['wpseo_author_title'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_author_title'] ) ) : '';
58 $wpseo_author_metadesc = isset( $_POST['wpseo_author_metadesc'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_author_metadesc'] ) ) : '';
59 $wpseo_author_pronouns = isset( $_POST['wpseo_author_pronouns'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_author_pronouns'] ) ) : '';
60 $wpseo_noindex_author = isset( $_POST['wpseo_noindex_author'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_noindex_author'] ) ) : '';
61 $wpseo_content_analysis_disable = isset( $_POST['wpseo_content_analysis_disable'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_content_analysis_disable'] ) ) : '';
62 $wpseo_keyword_analysis_disable = isset( $_POST['wpseo_keyword_analysis_disable'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_keyword_analysis_disable'] ) ) : '';
63 $wpseo_inclusive_language_analysis_disable = isset( $_POST['wpseo_inclusive_language_analysis_disable'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_inclusive_language_analysis_disable'] ) ) : '';
64
65 update_user_meta( $user_id, 'wpseo_title', $wpseo_author_title );
66 update_user_meta( $user_id, 'wpseo_metadesc', $wpseo_author_metadesc );
67 update_user_meta( $user_id, 'wpseo_pronouns', $wpseo_author_pronouns );
68 update_user_meta( $user_id, 'wpseo_noindex_author', $wpseo_noindex_author );
69 update_user_meta( $user_id, 'wpseo_content_analysis_disable', $wpseo_content_analysis_disable );
70 update_user_meta( $user_id, 'wpseo_keyword_analysis_disable', $wpseo_keyword_analysis_disable );
71 update_user_meta( $user_id, 'wpseo_inclusive_language_analysis_disable', $wpseo_inclusive_language_analysis_disable );
72 }
73 }
74