0

次の問題があります。Twentyeleven のわずかにカスタマイズされたバージョンでは、ホームページにメニューを表示できません。
ホームページには最新の投稿が表示されます。メニューはすべてのページ (投稿、ページ、カスタム ページ) で正常に機能しますが、ホームでは機能しません。しかし、ホームページには、私が持っているページへのリンクが表示されます。ヘッダー ファイルはすべてのページで同じで、以下が含まれます。

<?php wp_nav_menu(); ?>

および/またはで追加$argsします。 ホームページの種類をいくつかのページに変更するとメニューが機能し、別のファイル (シングルやページなど) を使用すると機能しなくなります。おそらくその理由は設定のどこかにあるでしょう。wp-admin を研究し、注意深くグーグル検索しました。 私を助けてください。"menu_id"=>10 /* menu id here */"menu"=>"mymenu"
index.php

<?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">

ゴッチャ!

    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ます。

しかし、投稿だけでなく、ホームページにカスタム投稿タイプを含めるには、このようなものが必要です。私は何をすべきか?

4

2 に答える 2

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' );

他の人にも役立つことを願っています:-)

于 2012-09-07T07:47:01.533 に答える
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;
}
}
于 2013-04-30T05:10:22.617 に答える