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.5 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 All 129 releases
wordpress-seo / src / presenters / meta-description-presenter.php

meta-description-presenter.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.3, at src/presenters/meta-description-presenter.php

64 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Yoast\WP\SEO\Presenters;
4
5 use Yoast\WP\SEO\Presentations\Indexable_Presentation;
6
7 /**
8 * Presenter class for the meta description.
9 */
10 class Meta_Description_Presenter extends Abstract_Indexable_Tag_Presenter {
11
12 /**
13 * The tag key name.
14 *
15 * @var string
16 */
17 protected $key = 'description';
18
19 /**
20 * Returns the meta description for a post.
21 *
22 * @return string The meta description tag.
23 */
24 public function present() {
25 $output = parent::present();
26
27 if ( ! empty( $output ) ) {
28 return $output;
29 }
30
31 if ( \current_user_can( 'wpseo_manage_options' ) ) {
32 return '<!-- '
33 . \sprintf(
34 /* translators: %1$s resolves to Yoast SEO, %2$s resolves to the Settings submenu item. */
35 \esc_html__( 'Admin only notice: this page does not show a meta description because it does not have one, either write it for this page specifically or go into the [%1$s - %2$s] menu and set up a template.', 'wordpress-seo' ),
36 \esc_html__( 'Yoast SEO', 'wordpress-seo' ),
37 \esc_html__( 'Settings', 'wordpress-seo' ),
38 )
39 . ' -->';
40 }
41
42 return '';
43 }
44
45 /**
46 * Run the meta description content through replace vars, the `wpseo_metadesc` filter and sanitization.
47 *
48 * @return string The filtered meta description.
49 */
50 public function get() {
51 $meta_description = $this->replace_vars( $this->presentation->meta_description );
52
53 /**
54 * Filter: 'wpseo_metadesc' - Allow changing the Yoast SEO meta description sentence.
55 *
56 * @param string $meta_description The description sentence.
57 * @param Indexable_Presentation $presentation The presentation of an indexable.
58 */
59 $meta_description = \apply_filters( 'wpseo_metadesc', $meta_description, $this->presentation );
60 $meta_description = $this->helpers->string->strip_all_tags( \stripslashes( $meta_description ) );
61 return \trim( $meta_description );
62 }
63 }
64