我正在尝试向Wordpress主题添加其他自定义菜单。我已经在menu.php文件中注册了菜单和位置, 创建了一个新的页面模板并添加了菜单。但是, 每当我向菜单添加项目时, 它都会替换主标题中的所有内容, 而且还会将其添加到我需要的位置。
任何帮助将不胜感激。
谢谢
插口
以下是我的functions.php文件。我要添加的菜单就在名为” 关于菜单” 的底部
<
?php
function cc_mime_types( $mimes ){
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter( 'upload_mimes', 'cc_mime_types' );
?>
<
?php add_theme_support( 'post-thumbnails' );
?>
<
?php
add_filter('next_posts_link_attributes', 'posts_link_next');
add_filter('previous_posts_link_attributes', 'posts_link_prev');
function posts_link_next() {
return 'class="next-button"';
}function posts_link_prev() {
return 'class="prev-button"';
};
?>
<
?php add_filter('show_admin_bar', '__return_false');
?>
<
?php
/**
* Register our sidebars and widgetized areas.
*
*/
function arphabet_widgets_init() {register_sidebar( array(
'name' =>
'index-sidebar', 'id' =>
'index-sidebar-widget', 'before_widget' =>
'<
div class="sidebar-widget">
', 'after_widget' =>
'<
/div>
', 'before_title' =>
'<
h2 class="widget-sidebar">
', 'after_title' =>
'<
/h2>
', ) );
register_sidebar( array(
'name' =>
'announcement', 'id' =>
'announcement', 'before_widget' =>
'<
div class="announcement">
', 'after_widget' =>
'<
/div>
', 'before_title' =>
'<
h2 class="announcement-title">
', 'after_title' =>
'<
/h2>
', ) );
register_sidebar( array(
'name' =>
'tweets', 'id' =>
'tweets', 'before_widget' =>
'', 'after_widget' =>
'', 'before_title' =>
'', 'after_title' =>
'', ) );
register_sidebar( array(
'name' =>
'events', 'id' =>
'widget-events', 'before_widget' =>
'', 'after_widget' =>
'', 'before_title' =>
'', 'after_title' =>
'', ) );
}
add_action( 'widgets_init', 'arphabet_widgets_init' );
/*
* Alters event's archive titles
*/
function tribe_alter_event_archive_titles ( $original_recipe_title, $depth ) {// Modify the titles here
// Some of these include %1$s and %2$s, these will be replaced with relevant dates
$title_upcoming ='Upcoming Events';
// List View: Upcoming events
$title_past ='Past Events';
// List view: Past events
$title_range ='Events for %1$s - %2$s';
// List view: range of dates being viewed
$title_month ='Events for %1$s';
// Month View, %1$s = the name of the month
$title_day ='Events for %1$s';
// Day View, %1$s = the day
$title_all ='All events for %s';
// showing all recurrences of an event, %s = event title
$title_week ='Events for week of %s';
// Week view// Don't modify anything below this unless you know what it does
global $wp_query;
$tribe_ecp = Tribe__Events__Main::instance();
$date_format = apply_filters( 'tribe_events_pro_page_title_date_format', tribe_get_date_format( true ) );
// Default Title
$title = $title_upcoming;
// If there's a date selected in the tribe bar, show the date range of the currently showing events
if ( isset( $_REQUEST['tribe-bar-date'] ) &
&
$wp_query->
have_posts() ) {if ( $wp_query->
get( 'paged' ) >
1 ) {
// if we're on page 1, show the selected tribe-bar-date as the first date in the range
$first_event_date = tribe_get_start_date( $wp_query->
posts[0], false );
} else {
//otherwise show the start date of the first event in the results
$first_event_date = tribe_event_format_date( $_REQUEST['tribe-bar-date'], false );
}$last_event_date = tribe_get_end_date( $wp_query->
posts[ count( $wp_query->
posts ) - 1 ], false );
$title = sprintf( $title_range, $first_event_date, $last_event_date );
} elseif ( tribe_is_past() ) {
$title = $title_past;
}// Month view title
if ( tribe_is_month() ) {
$title = sprintf(
$title_month, date_i18n( tribe_get_option( 'monthAndYearFormat', 'F Y' ), strtotime( tribe_get_month_view_date() ) )
);
}// Day view title
if ( tribe_is_day() ) {
$title = sprintf(
$title_day, date_i18n( tribe_get_date_format( true ), strtotime( $wp_query->
get( 'start_date' ) ) )
);
}// All recurrences of an event
if ( function_exists('tribe_is_showing_all') &
&
tribe_is_showing_all() ) {
$title = sprintf( $title_all, get_the_title() );
}// Week view title
if ( function_exists('tribe_is_week') &
&
tribe_is_week() ) {
$title = sprintf(
$title_week, date_i18n( $date_format, strtotime( tribe_get_first_week_day( $wp_query->
get( 'start_date' ) ) ) )
);
}if ( is_tax( $tribe_ecp->
get_event_taxonomy() ) &
&
$depth ) {
$cat = get_queried_object();
$title = '<
a href="' . esc_url( tribe_get_events_link() ) . '">
' . $title . '<
/a>
';
$title .= ' &
#8250;
' . $cat->
name;
}return $title;
}
add_filter( 'tribe_get_events_title', 'tribe_alter_event_archive_titles', 11, 2 );
?>
<
?php
add_filter('wp_nav_menu_objects', 'ad_filter_menu', 10, 2);
function ad_filter_menu($sorted_menu_objects, $args) {// check for the right menu to filter
// here we check for the menu with name 'Posts Menu'
// given that you call it in you theme with:
//wp_nav_menu( array( 'menu' =>
'Posts Menu' ) );
// if you call the menu using theme_location, eg:
//wp_nav_menu( array( 'theme_location' =>
'top_manu' ) );
// check for:
//if ($args->
theme_location != 'top_menu')
if ($args->
menu != 'Parents Menu')
return $sorted_menu_objects;
// edit the menu objects
foreach ($sorted_menu_objects as $menu_object) {
// searching for menu items linking to posts or pages
// can add as many post types to the array
if ( in_array($menu_object->
object, array('post', 'page', 'any_post_type')) ) {
// set the title to the post_thumbnail if available
// thumbnail size is the second parameter of get_the_post_thumbnail()
$menu_object->
title = has_post_thumbnail($menu_object->
object_id) ? get_the_post_thumbnail($menu_object->
object_id, 'full') . '<
span class="outer">
<
span>
' . $menu_object->
title . "<
/span>
<
/span>
": $menu_object->
title;
}
}return $sorted_menu_objects;
};
?>
<
?phpfunction register_my_menu() {
register_nav_menu('about-menu', __( 'About Menu' ));
}
add_action( 'init', 'register_my_menu' );
?>
下一个代码片段来自我要向其中添加菜单的页面模板。
<
?php
/*
Template Name: About Us Page
*/
?>
<
?php get_header();
?>
<
div class="main">
<
div class="page-top-banner" id="page-four-banner">
<
h1>
<
span>
About<
/span>
<
/h1>
<
/div>
<
div class="parental-inner">
<
?wp_nav_menu( array( 'theme_location' =>
'about-menu', 'container_class' =>
'about_menu_class' ) );
?>
<
/div>
<
?php get_footer();
?>
#1从函数php中删除register_my_menu函数, 并替换为以下内容:
删除此:
function register_my_menu() {
register_nav_menu('about-menu', __( 'About Menu' ));
}
add_action( 'init', 'register_my_menu' );
替换为:
//nav
register_nav_menus(array(
'main-menu' =>
__('Main Menu'), 'about-menu' =>
__('About Menu'), ));
【自定义WordPress菜单替换当前的标题菜单】页面模板上的输出是否正确?
推荐阅读
- 在functions.php中的破折号
- 产品详细信息页面的自定义模板为空-Woocommerce
- WordPress可视编辑器中的自定义样式不会将类应用于链接元素
- 在定制器屏幕上时,定制器选项未返回默认值
- 移动子菜单的自定义样式
- linux 7
- Typora 标题的自动编号
- 第四周
- Proxmox VE 超融合集群实践真传