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>
錯誤,我有:
非常感謝!