WordPress 6.1 新增 WP_List_Table::get_views_links() 生成当前视图链接

文 / @UTHEME

以前,必须在每个子类的get_views()方法中添加为视图链接生成标记的代码。这导致重复和不一致的代码来实现相同的结果,增加了内核和类似扩展器的维护负担。

解决方案

在工单 #42066中提出了一种新方法WP_List_Table::get_views_links(),它将链接生成抽离到父类完成。
这个新的protected方法接受一个$link_data数组参数,每个视图(view)包含以下内容:

  • $url (string) 链接URL。
  • $label (string) 链接标签。
  • $current (bool) 可选。这是否是当前选择的视图。
  • 如果$current为真true,aria-current="page"和class="current"将被添加到项目的链接标记中。

用法

在get_views()方法中,创建如上所述的链接数据数组。
将数组传递给新方法。

class My_List_Table extends WP_List_Table {protected function get_views() {// Create link data.$base_url  = add_query_arg( 'post_type', 'my_cpt', admin_url( 'edit.php' ) );$link_data = array('all' => array('url'     => $base_url,'label'   => __( 'All', 'my_textdomain' ),'current' => true, // Optional.),'trash' => array('url'   => add_query_arg( 'post_status', 'trash', $base_url ),'label' => __( 'Trash', 'my_text_domain' ),),);// Generate link markup.return $this->get_views_links( $link_data );}}
添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。