PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 18.1
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v18.1
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 / integrations / front-end / category-term-description.php

category-term-description.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 18.1, at src/integrations/front-end/category-term-description.php

52 lines 1.3 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\Integrations\Front_End;
4
5 use Yoast\WP\SEO\Conditionals\Front_End_Conditional;
6 use Yoast\WP\SEO\Integrations\Integration_Interface;
7
8 /**
9 * Adds support for shortcodes to category and term descriptions.
10 */
11 class Category_Term_Description implements Integration_Interface {
12
13 /**
14 * Returns the conditionals based in which this loadable should be active.
15 *
16 * @return array
17 */
18 public static function get_conditionals() {
19 return [ Front_End_Conditional::class ];
20 }
21
22 /**
23 * Initializes the integration.
24 *
25 * This is the place to register hooks and filters.
26 *
27 * @return void
28 */
29 public function register_hooks() {
30 \add_filter( 'category_description', [ $this, 'add_shortcode_support' ] );
31 \add_filter( 'term_description', [ $this, 'add_shortcode_support' ] );
32 }
33
34 /**
35 * Adds shortcode support to category and term descriptions.
36 *
37 * This methods wrap in output buffering to prevent shortcodes that echo stuff
38 * instead of return from breaking things.
39 *
40 * @param string $description String to add shortcodes in.
41 *
42 * @return string Content with shortcodes filtered out.
43 */
44 public function add_shortcode_support( $description ) {
45 \ob_start();
46 $description = \do_shortcode( $description );
47 \ob_end_clean();
48
49 return $description;
50 }
51 }
52