可以通过Ajax动态加载Wordpress菜单吗?
最好的解决方案是使用wp_nav_menu()。
发布于 2016-12-31 14:30:46
如果您的主题需要使用JavaScript动态初始化菜单,则初始化代码的模式应为:
jQuery(function($) {
function initMainNavigation( container ) {
/* set up container... */
}
initMainNavigation( $( '.main-navigation' ) );
$( document ).on( 'customize-preview-menu-refreshed', function( e, params ) {
if ( 'primary' === params.wpNavMenuArgs.theme_location ) {
initMainNavigation( params.newContainer );
/* optionally sync a previous menu state from params.oldContainer... */
}
});
});传递给事件处理程序的参数由以下属性组成:
包含从Ajax检索到的新菜单容器元素的
wp_nav_menu()的参数数组展开,如将wp_nav_menu()调用的索引更新为template_location.发布于 2012-07-16 17:36:58
您可以创建一个自定义文件来处理主题中的ajax请求,返回wp_nav_menu();的HTML输出并调用该文件。
wp-content/themes/your-theme/ajax.php:
<?php wp_nav_menu(); ?>这很简单,但效率很高。不过,要注意安全性。确保验证输入,并且不要eval()任何输入!
https://stackoverflow.com/questions/11501581
复制相似问题