使用 REST API 显示动态菜单

menu with rest api

上一篇文章中介绍了如何使用 WordPress REST API 创建动态内容的小工具(Widget),可以看到 WordPress 的 REST API 还是非常强大和好用的。另外,这套系统也为创建延时内容提供了帮助,本篇文章介绍另一个应用方式,就是显示动态菜单。

首先到后台管理工具中创建一个主菜单项,CSS 类填入 “rest_api_menu”。如果看不到 CSS 类这一项,到界面顶部点击 “显示选项”,然后把 CSS类勾选上,再到菜单配置界面就能看到了。

然后按照上篇文章中的方法把REST API客户端JavaScript代码激活(backbone.js)。

最后在自己的 JavaScript 代码文件中放入显示代码,本例是把最新的 5篇文章作为子菜单项显示到上面创建的主菜单中。当然可以在 fetch posts collection 时给出过滤条件以提取所需要的内容。

(function( $ ) {
	$(document).ready(function () {
		var postsCollection = new wp.api.collections.Posts();
		postsCollection.fetch( { data:{ per_page: 5 } } ).then(function(result){
		//在主菜单项下添加子菜单列表标签
		$('.rest_api_menu').addClass('menu-item-has-children').append('<ul class="sub-menu"></ul>');
		//添加子菜单项
		for (var i = 0; i < result.length; i++) {
			if (result[i]) {
				$('.rest_api_menu > ul').append('<li><a href="' + result[i].link + '">' + result[i].title.rendered + '</a></li>');
			}
		}
		});
	});
})( jQuery );

使用 MVC 模式的代码请参考这篇文章的内容。

发表评论

邮箱地址不会被公开。 必填项已用*标注