WPSEO_Bulk_List_Table::get_views() public Yoast 1.0
Gets the views.
{} Это метод класса: WPSEO_Bulk_List_Table{}
Хуков нет.
Возвращает
Массив
. The views.
Использование
$WPSEO_Bulk_List_Table = new WPSEO_Bulk_List_Table(); $WPSEO_Bulk_List_Table->get_views();
Код WPSEO_Bulk_List_Table::get_views() WPSEO Bulk List Table::get views Yoast 16.1.1
public function get_views() {
global $wpdb;
$status_links = [];
$states = get_post_stati( [ 'show_in_admin_all_list' => true ] );
$states = esc_sql( $states );
$all_states = "'" . implode( "', '", $states ) . "'";
$subquery = $this->get_base_subquery();
$total_posts = $wpdb->get_var(
"
SELECT COUNT(ID) FROM {$subquery}
WHERE post_status IN ({$all_states})
"
);
$post_status = filter_input( INPUT_GET, 'post_status' );
$current_link_attributes = empty( $post_status ) ? ' class="current" aria-current="page"' : '';
$localized_text = sprintf(
/* translators: %s expands to the number of posts in localized format. */
_nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_posts, 'posts', 'wordpress-seo' ),
number_format_i18n( $total_posts )
);
$status_links['all'] = '<a href="' . esc_url( admin_url( 'admin.php?page=wpseo_tools&tool=bulk-editor' . $this->page_url ) ) . '"' . $current_link_attributes . '>' . $localized_text . '</a>';
$post_stati = get_post_stati( [ 'show_in_admin_all_list' => true ], 'objects' );
if ( is_array( $post_stati ) && $post_stati !== [] ) {
foreach ( $post_stati as $status ) {
$status_name = esc_sql( $status->name );
$total = (int) $wpdb->get_var(
$wpdb->prepare(
"
SELECT COUNT(ID) FROM {$subquery}
WHERE post_status = %s
",
$status_name
)
);
if ( $total === 0 ) {
continue;
}
$current_link_attributes = '';
if ( $status_name === $post_status ) {
$current_link_attributes = ' class="current" aria-current="page"';
}
$status_links[ $status_name ] = '<a href="' . esc_url( add_query_arg( [ 'post_status' => $status_name ], admin_url( 'admin.php?page=wpseo_tools&tool=bulk-editor' . $this->page_url ) ) ) . '"' . $current_link_attributes . '>' . sprintf( translate_nooped_plural( $status->label_count, $total ), number_format_i18n( $total ) ) . '</a>';
}
}
unset( $post_stati, $status, $status_name, $total, $current_link_attributes );
$trashed_posts = $wpdb->get_var(
"
SELECT COUNT(ID) FROM {$subquery}
WHERE post_status IN ('trash')
"
);
$current_link_attributes = '';
if ( $post_status === 'trash' ) {
$current_link_attributes = 'class="current" aria-current="page"';
}
$localized_text = sprintf(
/* translators: %s expands to the number of trashed posts in localized format. */
_nx( 'Trash <span class="count">(%s)</span>', 'Trash <span class="count">(%s)</span>', $trashed_posts, 'posts', 'wordpress-seo' ),
number_format_i18n( $trashed_posts )
);
$status_links['trash'] = '<a href="' . esc_url( admin_url( 'admin.php?page=wpseo_tools&tool=bulk-editor&post_status=trash' . $this->page_url ) ) . '"' . $current_link_attributes . '>' . $localized_text . '</a>';
return $status_links;
}