PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / trunk
Yoast SEO – Advanced SEO with real-time guidance and built-in AI vtrunk
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-title-editor-list-table.php

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

96 lines 2.3 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 title editing.
11 *
12 * @deprecated 28.1
13 * @codeCoverageIgnore
14 */
15 class WPSEO_Bulk_Title_Editor_List_Table extends WPSEO_Bulk_List_Table {
16
17 /**
18 * Current type for this class will be title.
19 *
20 * @var string
21 */
22 protected $page_type = 'title';
23
24 /**
25 * Settings with are used in __construct.
26 *
27 * @var array
28 */
29 protected $settings = [
30 'singular' => 'wpseo_bulk_title',
31 'plural' => 'wpseo_bulk_titles',
32 'ajax' => true,
33 ];
34
35 /**
36 * The field in the database where meta field is saved.
37 *
38 * @var string
39 */
40 protected $target_db_field = 'title';
41
42 /**
43 * The columns shown on the table.
44 *
45 * @deprecated 28.1
46 * @codeCoverageIgnore
47 *
48 * @return array
49 */
50 public function get_columns() {
51
52 $columns = [
53 /* translators: %1$s expands to Yoast SEO */
54 'col_existing_yoast_seo_title' => sprintf( __( 'Existing %1$s Title', 'wordpress-seo' ), 'Yoast SEO' ),
55 /* translators: %1$s expands to Yoast SEO */
56 'col_new_yoast_seo_title' => sprintf( __( 'New %1$s Title', 'wordpress-seo' ), 'Yoast SEO' ),
57 ];
58
59 return $this->merge_columns( $columns );
60 }
61
62 /**
63 * Parse the title columns.
64 *
65 * @param string $column_name Column name.
66 * @param object $record Data object.
67 * @param string $attributes HTML attributes.
68 *
69 * @return string
70 */
71 protected function parse_page_specific_column( $column_name, $record, $attributes ) {
72
73 // Fill meta data if exists in $this->meta_data.
74 $meta_data = ( ! empty( $this->meta_data[ $record->ID ] ) ) ? $this->meta_data[ $record->ID ] : [];
75
76 switch ( $column_name ) {
77 case 'col_existing_yoast_seo_title':
78 // @todo Inconsistent return/echo behavior R.
79 // I traced the escaping of the attributes to WPSEO_Bulk_List_Table::column_attributes.
80 // The output of WPSEO_Bulk_List_Table::parse_meta_data_field is properly escaped.
81 // phpcs:ignore WordPress.Security.EscapeOutput
82 echo $this->parse_meta_data_field( $record->ID, $attributes );
83 break;
84
85 case 'col_new_yoast_seo_title':
86 return sprintf(
87 '<input type="text" id="%1$s" name="%1$s" class="wpseo-new-title" data-id="%2$s" aria-labelledby="col_new_yoast_seo_title" />',
88 'wpseo-new-title-' . $record->ID,
89 $record->ID,
90 );
91 }
92
93 unset( $meta_data );
94 }
95 }
96