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 / admin / class-bulk-description-editor-list-table.php

class-bulk-description-editor-list-table.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 18.1, at admin/class-bulk-description-editor-list-table.php

81 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Admin\Bulk Editor
6 * @since 1.5.0
7 */
8
9 /**
10 * Implements table for bulk description editing.
11 */
12 class WPSEO_Bulk_Description_List_Table extends WPSEO_Bulk_List_Table {
13
14 /**
15 * Current type for this class will be (meta) description.
16 *
17 * @var string
18 */
19 protected $page_type = 'description';
20
21 /**
22 * Settings with are used in __construct.
23 *
24 * @var array
25 */
26 protected $settings = [
27 'singular' => 'wpseo_bulk_description',
28 'plural' => 'wpseo_bulk_descriptions',
29 'ajax' => true,
30 ];
31
32 /**
33 * The field in the database where meta field is saved.
34 *
35 * @var string
36 */
37 protected $target_db_field = 'metadesc';
38
39 /**
40 * The columns shown on the table.
41 *
42 * @return array
43 */
44 public function get_columns() {
45 $columns = [
46 'col_existing_yoast_seo_metadesc' => __( 'Existing Yoast Meta Description', 'wordpress-seo' ),
47 'col_new_yoast_seo_metadesc' => __( 'New Yoast Meta Description', 'wordpress-seo' ),
48 ];
49
50 return $this->merge_columns( $columns );
51 }
52
53 /**
54 * Parse the metadescription.
55 *
56 * @param string $column_name Column name.
57 * @param object $record Data object.
58 * @param string $attributes HTML attributes.
59 *
60 * @return string
61 */
62 protected function parse_page_specific_column( $column_name, $record, $attributes ) {
63 switch ( $column_name ) {
64 case 'col_new_yoast_seo_metadesc':
65 return sprintf(
66 '<textarea id="%1$s" name="%1$s" class="wpseo-new-metadesc" data-id="%2$s" aria-labelledby="col_new_yoast_seo_metadesc"></textarea>',
67 esc_attr( 'wpseo-new-metadesc-' . $record->ID ),
68 esc_attr( $record->ID )
69 );
70
71 case 'col_existing_yoast_seo_metadesc':
72 // @todo Inconsistent return/echo behavior R.
73 // I traced the escaping of the attributes to WPSEO_Bulk_List_Table::column_attributes. Alexander.
74 // The output of WPSEO_Bulk_List_Table::parse_meta_data_field is properly escaped.
75 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
76 echo $this->parse_meta_data_field( $record->ID, $attributes );
77 break;
78 }
79 }
80 }
81