admin
3 years ago
debug
5 years ago
open-graph
3 years ago
slack
3 years ago
twitter
3 years ago
webmaster
4 years ago
abstract-indexable-presenter.php
4 years ago
abstract-indexable-tag-presenter.php
3 years ago
abstract-presenter.php
5 years ago
breadcrumbs-presenter.php
3 years ago
canonical-presenter.php
4 years ago
meta-author-presenter.php
3 years ago
meta-description-presenter.php
3 years ago
rel-next-presenter.php
4 years ago
rel-prev-presenter.php
4 years ago
robots-presenter.php
4 years ago
robots-txt-presenter.php
3 years ago
schema-presenter.php
4 years ago
score-icon-presenter.php
3 years ago
title-presenter.php
4 years ago
url-list-presenter.php
5 years ago
meta-description-presenter.php
65 lines
| 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 | * @api string $meta_description The description sentence. |
| 57 | * |
| 58 | * @param Indexable_Presentation $presentation The presentation of an indexable. |
| 59 | */ |
| 60 | $meta_description = \apply_filters( 'wpseo_metadesc', $meta_description, $this->presentation ); |
| 61 | $meta_description = $this->helpers->string->strip_all_tags( \stripslashes( $meta_description ) ); |
| 62 | return \trim( $meta_description ); |
| 63 | } |
| 64 | } |
| 65 |