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

Yoast / wordpress-seo / 329e7257b699570577e9617a4ea672714686da15

26 Jan 2026 07:52AM UTC coverage: 52.923% (-0.4%) from 53.35%
329e7257b699570577e9617a4ea672714686da15

Pull #22888

github

web-flow
Merge 00d428c6c into ff2f33de1
Pull Request #22888: Add integration tests for analytics adapter

8393 of 15825 branches covered (53.04%)

Branch coverage included in aggregate %.

32383 of 61223 relevant lines covered (52.89%)

47097.05 hits per line

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

0.0
/src/editors/framework/seo/posts/description-data-provider.php
1
<?php
2

3
// phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong
4
// phpcs:disable Yoast.NamingConventions.NamespaceName.MaxExceeded
5
namespace Yoast\WP\SEO\Editors\Framework\Seo\Posts;
6

7
use Yoast\WP\SEO\Editors\Domain\Seo\Description;
8
use Yoast\WP\SEO\Editors\Domain\Seo\Seo_Plugin_Data_Interface;
9
use Yoast\WP\SEO\Editors\Framework\Seo\Description_Data_Provider_Interface;
10
use Yoast\WP\SEO\Helpers\Date_Helper;
11
use Yoast\WP\SEO\Helpers\Options_Helper;
12

13
/**
14
 * Describes if the description SEO data.
15
 */
16
class Description_Data_Provider extends Abstract_Post_Seo_Data_Provider implements Description_Data_Provider_Interface {
17

18
        /**
19
         * The date helper.
20
         *
21
         * @var Date_Helper
22
         */
23
        private $date_helper;
24

25
        /**
26
         * The options helper.
27
         *
28
         * @var Options_Helper
29
         */
30
        private $options_helper;
31

32
        /**
33
         * The constructor.
34
         *
35
         * @param Date_Helper    $date_helper    The date helper.
36
         * @param Options_Helper $options_helper The options helper.
37
         */
38
        public function __construct( Date_Helper $date_helper, Options_Helper $options_helper ) {
×
39
                $this->date_helper    = $date_helper;
×
40
                $this->options_helper = $options_helper;
×
41
        }
42

43
        /**
44
         * Retrieves the description template.
45
         *
46
         * @return string The description template.
47
         */
48
        public function get_description_template(): string {
×
49
                return $this->get_template( 'metadesc' );
×
50
        }
51

52
        /**
53
         * Determines the date to be displayed in the snippet preview.
54
         *
55
         * @return string
56
         */
57
        public function get_description_date(): string {
×
58
                return $this->date_helper->format_translated( $this->post->post_date, 'M j, Y' );
×
59
        }
60

61
        /**
62
         * Retrieves a template.
63
         *
64
         * @param string $template_option_name The name of the option in which the template you want to get is saved.
65
         *
66
         * @return string
67
         */
68
        private function get_template( string $template_option_name ): string {
×
69
                $needed_option = $template_option_name . '-' . $this->post->post_type;
×
70

71
                if ( $this->options_helper->get( $needed_option, '' ) !== '' ) {
×
72
                        return $this->options_helper->get( $needed_option );
×
73
                }
74

75
                return '';
×
76
        }
77

78
        /**
79
         * Method to return the Description domain object with SEO data.
80
         *
81
         * @return Seo_Plugin_Data_Interface The specific seo data.
82
         */
83
        public function get_data(): Seo_Plugin_Data_Interface {
×
84
                return new Description( $this->get_description_date(), $this->get_description_template() );
×
85
        }
86
}
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