gpt4 book ai didi

menu - 创建新类型的导航菜单项

转载 作者:行者123 更新时间:2023-12-04 23:04:04 24 4
gpt4 key购买 nike

我正在处理的网站有一个复杂的“大型菜单”类型导航。我希望内容编辑器能够按标记中的列对菜单项进行分组。通常,如果我想要 6 列,我会注册 6 个菜单并将它们命名为第 1-6 列,但是这些是动态子菜单,需要成为另一个菜单中另一个导航项的子项。

我真正想做的是创建一种新类型的导航菜单项(当前是页面、链接、类别,以及我的其他自定义帖子类型和自定义分类法),其中该项目仅用于列。 (我将它用于列的事实在这里并不重要。这可能很容易成为分隔符或其他东西。我只需要一个新的导航菜单项类型,我可以在我使用它时创建特殊标记建立菜单。)

有没有一种方法可以创建新的导航菜单项类型,而不必创建仅用于此目的的自定义帖子类型或自定义分类法?

最佳答案

我最终为此所做的是添加一个新的帖子类型,该类型隐藏在网站上的任何地方,除了导航菜单。然后我只添加了该帖子类型的一个条目,并隐藏了一些字段。

<?php

function navMenuColumns_init() {
register_post_type('menu_column',
array(
'labels' => array(
'name' => __('Menu Columns'),
'singular_name' => __('Menu Column')
),
'supports' => array('title'),

// Doesn't need to be listed most places as it's not a valid content item on it's own
'public' => false, // Base setting. More specific settings below
'exclude_from_search' => false,
'publicly_queryable' => false,
'show_ui' => false,
'show_in_menu' => false,
'show_in_nav_menus' => true, // The only thing this is used for
'show_in_admin_bar' => false,
'has_archive' => false,
)
);

$_version = (float)get_option('navMenuColumns_version', 0.0);

if ($_version < 1.0) {
navMenuColumns_install10();
}

add_action('admin_footer', 'navMenuColumns_adminFooter');
}

function navMenuColumns_install10() {
$navMenuPost = wp_insert_post(array(
'post_type' => 'menu_column',
'post_title' => 'Column',
'post_status' => 'publish'
), true);

if (!is_wp_error($navMenuPost)) {
update_option('navMenuColumns_version', 1.0);
}
}

function navMenuColumns_adminFooter() {
?><script>
jQuery(document).ready(function($) {
// Hides most of the fields when editing a Menu Column item.
$('#menu-to-edit').on('click', 'a.item-edit', function() {
var $li = $(this).parents('li.menu-item');

if ($li.find('.item-type').text() == 'Menu Column') {
$li.find('p.description').hide();
$li.find('p.link-to-original').hide();
$li.find('p.field-move').show();
}
});
});
</script><?php
}

add_action('init', 'navMenuColumns_init');

?>

这允许用户将其添加为普通菜单项。这不适用于为您构建菜单标记的函数,但如果您遍历菜单项并为您构建标记,则可以使用自定义标记定位此帖子类型。

关于menu - 创建新类型的导航菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19963210/

24 4 0