当前位置:首页>WordPress建站>WordPress开发>WordPress 6.1 新增 WP_List_Table::get_views_links() 生成当前视图链接

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

问题

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

解决方案

在工单 #42066中提出了一种新方法WP_List_Table::get_views_links(),它将链接生成抽离到父类完成。

这个新的protected方法接受一个$link_data数组参数,每个视图(view)包含以下内容:

  • $url (string) 链接URL。
  • $label (string) 链接标签。
  • $current (bool) 可选。这是否是当前选择的视图。

如果$current为真truearia-current="page"class="current"将被添加到项目的链接标记中。

用法

  1. get_views()方法中,创建如上所述的链接数据数组。
  2. 将数组传递给新方法。
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 );
	}
}

核心子类更新

以下核心子类现在使用新方法:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
WordPress开发WordPress资讯

WordPress 6.1 增加了对 WP_Query 缓存改进性能

2022-10-9 10:45:03

WordPress开发WordPress资讯

WordPress 6.1 新增必填字段相关函数和钩子

2022-10-11 20:14:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索