0
我有演出菜单简码:添加简码在TinyMCE用于显示菜单下拉
//menu categories shortcode
function menu_categories_shortcode($atts, $content = null){
extract(shortcode_atts(array(
'menu' => ''
), $atts));
ob_start();
wp_nav_menu(array(
'menu' => $menu,
'container' => 'ul',
'container_class' => 'sidebar-categories',
'items_wrap' => '%3$s',
'depth' => 1
));
$content = ob_get_contents();
ob_end_clean();
return $content;
}
add_shortcode('menu-categories', 'menu_categories_shortcode');
现在,我想添加菜单简码的简码按钮,TinyMCE的客户端可以选择他们想要显示的菜单。例如:在主页上,客户端要显示的菜单菜单名称为Menu 1,因此简码将为:[menu-categories menu="Menu 1"]
当客户端点击菜单简码按钮时,会弹出所有菜单的下拉列表供客户端选择菜单想。
这是我的js调用弹出菜单:
(function() {
tinymce.create('tinymce.plugins.menuPlugin', {
init: function(ed, url) {
// Register commands
ed.addCommand('mcebutton', function() {
ed.windowManager.open({
file: url + '/menu_popup.php',
width: 220 + parseInt(ed.getLang('button.delta_width', 0)),
height: 240 + parseInt(ed.getLang('button.delta_height', 0)),
inline: 1
}, {
plugin_url: url
});
});
// Register buttons
ed.addButton('menu_button', {
title: 'Choose Menu',
cmd: 'mcebutton',
image: url + '/icon.gif'
});
},
});
tinymce.PluginManager.add('menu_button', tinymce.plugins.buttonPlugin);
})();
我menu_popup.php
所的问题,如何我得到的所有菜单? 我menu_popup.php
文件:
<form action="/" method="get" accept-charset="utf-8">
<div>
<label for="button-url">Choose Menu</label>
<?php $menus = get_registered_nav_menus();
if($menus) : ?>
<select id="button-url">
<?php
foreach ($menus as $key => $menu) : ?>
<option value="<?php echo $menu; ?>"><?php echo $menu; ?></option> <?php endforeach; ?>
</select>
<?php endif; ?>
</div>
<div>
<a href="javascript:ButtonDialog.insert(ButtonDialog.local_ed)" id="insert" style="display: block; line-height: 24px;">Insert</a>
</div>
</form>
错误,我有:
非常感谢!