Wordpress菜单没有显示在主页上

时间:2012-09-06 19:34:17

标签: wordpress themes

有以下问题。在Twentyeleven的略微定制版本中,我无法在主页上显示菜单 主页显示最新帖子。菜单在所有页面(帖子,页面,自定义页面)中都可以正常工作,但不能在家中使用。但是在主页上它显示了我所拥有的页面的链接。 所有页面的头文件都相同,并包含:

<?php wp_nav_menu(); ?>

使用$args和/或"menu_id"=>10 /* menu id here */添加"menu"=>"mymenu" 将主页类型更改为某个页面使菜单工作,使用index.php的某些不同文件(如单个或页面)不会。可能原因在于安置的某个方面。研究过wp-admin并用Google搜索 求你帮帮我。

<?php
/**
 * The Header for our theme.
 *
 * Displays all of the <head> section and everything up till <div id="main">
 *
 * @package WordPress
 * @subpackage iwtech
 * @since iwtech.ru theme 1.0
 */
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title><?php
    global $page, $paged;
    wp_title( '|', true, 'right' );
    bloginfo( 'name' );
    $site_description = get_bloginfo( 'description', 'display' );
    if ( $site_description && ( is_home() || is_front_page() ) )
        echo " | $site_description";
// Add a page number if necessary:
    if ( $paged >= 2 || $page >= 2 )
        echo ' | ' . sprintf( __( 'Page %s', 'iwtech' ), max( $paged, $page ) );
    ?>
</title>
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'template_directory' ); ?>/styles.css">
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'template_directory' ); ?>/n-corr.css">
<script type="text/JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" >
<?php
if ( is_singular() && get_option( 'thread_comments' ) )
    wp_enqueue_script( 'comment-reply' );
?>
<?php if (isset($_POST['s2_admin'])): ?>
    <script type="text/javascript">
    document.location.reload(true)
    </script>
<?php endif; ?>
<?php 
wp_head();
?>
</head>
<body <?php body_class(); ?>>
    <div id="header">
        <?php 
        wp_nav_menu(); ?>
    </div>
</div>
<div id="wrapper">

GOTCHA!

    function my_get_posts( $query ) {
    if ( is_home() )
        $query->set( 'post_type', array( 'post',  'albums', 'artists', 'clips', 'events' ) );

    return $query;
}
add_filter( 'pre_get_posts', 'my_get_posts' );

functions.php中的此功能会破坏navmenu

但我需要这样的东西在主页上有自定义的帖子类型,而不仅仅是帖子。 我该怎么办?

2 个答案:

答案 0 :(得分:0)

所以,最后我发现这应该是代码:

function my_get_posts( $query ) {
    if ( $query->is_main_query() and is_home() ) {
        $query->set( 'post_type', array( 'post',  'albums', 'artists', 'clips', 'events', 'quote', 'attachment' ) );
    }
    return $query;
}
add_filter( 'pre_get_posts', 'my_get_posts' );

希望,对其他人有用: - )

答案 1 :(得分:0)

试试这段代码..希望可以提供帮助

add_filter( 'pre_get_posts', 'my_get_posts' );
function my_get_posts( $query ) {

 if ( ( is_home() && false == $query->query_vars['suppress_filters'] )  ) {
    $query->set( 'post',  'albums', 'artists', 'clips', 'events', 'quote', 'attachment' ) );

return $query;
}
}