• 解決済 bigsum

    (@goodwell)


    以下のように投稿記事欄を設けました。何時もやっていることなので、問題あるとは
    思えないのですが、トップページに見出しの一覧が出るのですが、クリックすると
    Web ページが見つかりません になってしまいます。まったくわかりません。
    教えてください。

    function.php

    //セミナー

    register_post_type(
    	'seminer',
    	array(
    		'label' => 'セミナー情報',
    		'hierarchical' => false,
    		'public' => true,
    		'has_archive' => true,
    		'supports' => array(
    			'title',
    			'editor'
    		)
    	)
    );

    home.php

    <ul class="newslist">
    		<?php query_posts('post_type=seminer&posts_per_page=10'); ?><?php if(have_posts()): while(have_posts()):
    the_post(); ?><?php get_template_part('content','title'); ?><?php endwhile; endif; ?>

    content.php

    <div class="post">
    <h2><!--  <?php echo get_the_date(); ?>--><a>"><?php the_title(); ?></a>
    </h2>
    <!-- <p class="postcat"><?php the_category(' '); ?></p> -->
    
    <?php the_content(); ?>
    
    <p class="postinfo">
    
    </p>
    </div>

    WordPress3.5.2

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • モデレーター gatespace

    (@gatespace)

    ※コードを投稿する時はその部分を「code」ボタンで囲ってください。

    • パーマリンク設定はデフォルト以外ですか?その場合、カスタム投稿タイプ作成のあと、パーマリンク設定の更新をしましたか?
    • パーマリンク設定をデフォルトに変えても、404になりますか?
    モデレーター gatespace

    (@gatespace)

    あと、query_posts 使うのなら、そのあとちゃんとリセットしておかないと、予期しないエラーが起きますよ。
    例はCodexに書いてあります。

    メインのクエリと別にカスタム投稿タイプの一覧を出すなら、 get_posts 使った方がよいです。

    トピック投稿者 bigsum

    (@goodwell)

    gatespaceさん、ありがとうございます。

    今サーバーがメンテナンス中のため確認が取れません。上記を踏まえてやってみて
    またご報告します。

    トピック投稿者 bigsum

    (@goodwell)

    gatespaceさん ありがとうございます。
    確かに、 get_posts だとエラーがなくなりました。
    でも用意したカスタム投稿タイプの一覧ではなく、投稿記事の内容が反映されるようになります。どうしてでしょうか?

    またquery_posts を使う場合リセットするということですが、
    query_posts(‘post_type=seminer&posts_per_page=10’); ?><?php if(have_posts()): while(have_posts()):
    the_post(); ?><?php get_template_part(‘content’,’title’); ?><?php endwhile; endif; ?>

    の最後に
    <?php wp_reset_query();?>をどの位置に入れるのが正しいのでしょうか?

    すみません。

    モデレーター gatespace

    (@gatespace)

    ※コードを投稿する時はその部分を「code」ボタンで囲ってください。

    でも用意したカスタム投稿タイプの一覧ではなく、投稿記事の内容が反映されるようになります。どうしてでしょうか?

    Codexの get_posts に説明が書いてあります。
    カスタム投稿タイプを取得するなら post_type パラメーターを設定しないとたダメですよ。

    一般的な get_posts の例 ※未検証

    <?php
    global $post; // 一部期待通りに動かないことがあるのでglobal宣言しておく。
    $args = array( '
        'post_type'       => 'post', // デフォルトでは post=投稿を取得
        'posts_per_page'  => 5, // 取得する記事数 デフォルトは5なので省略可能
    );
    $myposts = get_posts( $args );
    foreach( $myposts as $post ) { // ループ開始
        setup_postdata($post);
        // この辺でタイトルとかパーマリンクとか
    }
    wp_reset_postdata(); // get_posts したものをリセット
    ?>

    またquery_posts を使う場合リセットするということですが、
    (略)
    どの位置に入れるのが正しいのでしょうか?

    これもCodexの query_posts のページに書いてあります。

    CodexはWordPress公式のマニュアル・リファレンスですから、カスタマイズするなら一度目を通してみてください。

    トピック投稿者 bigsum

    (@goodwell)

    gatespaceさん ご丁寧にありがとうございます。
    参考になりました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「contensがエラーにになる」には新たに返信することはできません。