• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Yoast / wordpress-seo / 8b43089c625103ac862fa11105ec20207cf5705a

13 Aug 2024 11:22AM UTC coverage: 51.228% (+0.2%) from 51.025%
8b43089c625103ac862fa11105ec20207cf5705a

Pull #21314

github

web-flow
Merge c66634528 into 82a18954b
Pull Request #21314: Don't overwrite user settings when the respective features are disabled

152 of 164 new or added lines in 10 files covered. (92.68%)

197 existing lines in 6 files now uncovered.

16378 of 31971 relevant lines covered (51.23%)

3.92 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/admin/class-admin-user-profile.php
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_noindex_author                      = isset( $_POST['wpseo_noindex_author'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_noindex_author'] ) ) : '';
60
                $wpseo_content_analysis_disable            = isset( $_POST['wpseo_content_analysis_disable'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_content_analysis_disable'] ) ) : '';
61
                $wpseo_keyword_analysis_disable            = isset( $_POST['wpseo_keyword_analysis_disable'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_keyword_analysis_disable'] ) ) : '';
62
                $wpseo_inclusive_language_analysis_disable = isset( $_POST['wpseo_inclusive_language_analysis_disable'] ) ? sanitize_text_field( wp_unslash( $_POST['wpseo_inclusive_language_analysis_disable'] ) ) : '';
63

64
                update_user_meta( $user_id, 'wpseo_title', $wpseo_author_title );
65
                update_user_meta( $user_id, 'wpseo_metadesc', $wpseo_author_metadesc );
66
                update_user_meta( $user_id, 'wpseo_noindex_author', $wpseo_noindex_author );
67
                update_user_meta( $user_id, 'wpseo_content_analysis_disable', $wpseo_content_analysis_disable );
68
                update_user_meta( $user_id, 'wpseo_keyword_analysis_disable', $wpseo_keyword_analysis_disable );
69
                update_user_meta( $user_id, 'wpseo_inclusive_language_analysis_disable', $wpseo_inclusive_language_analysis_disable );
70
        }
71

72
        /**
73
         * Add the inputs needed for SEO values to the User Profile page.
74
         *
75
         * @param WP_User $user User instance to output for.
76
         *
77
         * @return void
78
         */
79
        public function user_profile( $user ) {
×
NEW
80
                _deprecated_function( __METHOD__, 'Yoast SEO 23.4' );
×
UNCOV
81
                wp_nonce_field( 'wpseo_user_profile_update', 'wpseo_nonce' );
×
82

83
                require_once WPSEO_PATH . 'admin/views/user-profile.php';
×
84
        }
85
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc