フォーラムへの返信

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • 自分が過去にデータ移動でおきたことは、日本語のカテゴリーが複数インポート時に作られたことぐらいで、記事番号がずれたと言うことはありませんでした。

    ただ、Gilmoreさんがおっしゃるとおり、スラッグを記事に付けておけばずれることは生じないので、それが一番かもしれませんね。
    あとで、同じ日に2つ記事を投稿したくなったら、さらに「-02」とか付けるのも有りでしょうし。

    http://www.ドメイン/blog/20101016/

    このアドレスにしたいことは、個々の記事の判別をどのように付けようとしているのでしょうか?
    同じ日時のブログ記事になると、同じアドレスになってしまうと思います。というか、そのアドレスですと、日刊アーカイブを表示するような気がします。
    日刊アーカイブを表示しているため、タイトルが「日付│ブログ名」このようになったかと。

    /%year%%monthnum%%day%/%post_id%/
    表示:http://www.ドメイン/blog/20101016/id
    このようにすることにより、日時/記事のID番号で判別出来るかと思います。

    もし、IDの数字やタイトルが出るのがいやな場合は、各記事において、「パーマリンク」の設定をしてあげてください。

    %postname% で、投稿タイトル (投稿スラッグ)を表示するとしていますので、タイトルが入ります。

    この部分を %post_id% にして、記事特有のID番号を表示でいかがでしょうか?

    フォーラム: 使い方全般
    返信が含まれるトピック: 動的に<?php while (have_posts()) : the_post(); ?>使用する

    それでは、単純な方法で、変数を設定して、その変数を0,1と変更するとかどうかな?

    <?php $numF = 0; ?>
    <?php while (have_posts()) : the_post(); ?>
    <div class="<?php if($numF == 0): ?>blogBox1<?php else: ?>blogBox2<?php endif; ?> clearfix">
    投稿内容
    </div>
    <?php
    if($numF == 0):
     $numF = 1;
    else:
     $numF = 0;
    endif;
    ?>
    <?php endwhile; ?>

    こんな感じで。

    とその前に、もしかして新たにfunction.phpを作られましたでしょうか?
    もしそうでしたら、自分が提示したファイル名が違いました。
    ファイル名「functions.php」と「s」が抜けておりました。

    中身のソースは全てを書きますと

    <?php
    
    //奇数
    function isOdd(){
        global $wp_query;
        return ((($wp_query->current_post+1) % 2) === 1);
    }
    
    //偶数
    function isEvery(){
        global $wp_query;
        return ((($wp_query->current_post+1) % 2) === 0);
    }
    
    ?>

    こんな感じになります。
    WP3.0で動くのも確認しました。

    フォーラム: 使い方全般
    返信が含まれるトピック: 動的に<?php while (have_posts()) : the_post(); ?>使用する

    function.php に以下を追加します。

    //奇数
    function isOdd(){
        global $wp_query;
        return ((($wp_query->current_post+1) % 2) === 1);
    }
    
    //偶数
    function isEvery(){
        global $wp_query;
        return ((($wp_query->current_post+1) % 2) === 0);
    }

    そして、コードを

    <?php while (have_posts()) : the_post(); ?>
    <div class="<?php if(isOdd()): ?>blogBox1<?php else: ?>blogBox2<?php endif; ?> clearfix">
    投稿内容
    </div>
    <?php endwhile; ?>

    こんな感じでいけないかな?
    ただ、今環境が2.92しかないので、ちゃんと動くか確認出来ていないのですみません。

    画像がないという状態ですが、もしかして、新規投稿ではなく、過去の記事を表示しているのでしょうか?

    それでしたら、array(150,150) この部分を過去の投稿時にWordPressで設定していたサムネイル画像の大きさに変更してください。
    投稿した時点でサムネイル画像が作成されますので。

    あと、投稿記事を作成するときに、公開ボタンなどがある右のバーの一番下に投稿サムネイルという項目が2.92から増えていると思います。
    この項目で表示する画像を設定しないと、画像は表示されません(自分もなかなか気がつきませんでした。)

    WPの2.92なら、新たに追加したサムネイル機能を使用すればいいとおもいます。

    function.phpに

    if ( function_exists( 'add_theme_support' ) ) {
      add_theme_support( 'post-thumbnails' );
      set_post_thumbnail_size( 150, 150, true ); // サムネイルのサイズ
    }

    サムネイル画像を呼び出すには、
    <?php the_post_thumbnail(); ?>
    となります。

    固定ページの呼び出したい場所に
    (html構文は例です。classのimgLeftに回り込みをcssで設定してください。)

    <?php
    query_posts('posts_per_page=1');
     if (have_posts()) :
      while (have_posts()) : the_post(); ?>
    <dl>
     <dt class="title"><a href="<?php the_permaLink(); ?>"><?php the_title(); ?></a></dt>
     <dd class="date"><?php the_time('Y.m.d'); ?>UP</dd>
     <dd class="text"><?php
       if ( has_post_thumbnail() ): // サムネイルを持っているときの処理
        ?><?php the_post_thumbnail( array(150,150), array('class' => 'imgLeft') ); ?><?php
       else: // サムネイルを持っていないときの処理
        ?><img src="<?php bloginfo('template_url') ?>/image/no_image.gif" alt="noimage" class="imgLeft" /><?php
       endif; ?><?php the_excerpt(); ?></dd>
     </dl><?php
      endwhile;
     endif;
    wp_reset_query();
    ?>

    query_posts(‘posts_per_page=1’);
    この部分の設定をいろいろ変えれば、カテゴリーを限定したり、表示する記事の数を変えたりできます。

    トピック投稿者 threetails

    (@threetails)

    ありがとうございます。

    一応こちらでGoogle Webmasterツール及びWebsite Explorerにて確認を行ってみたのですが、上記のリダイレクトでのエラー回避を行っていない状態では、エラーを返しました。

    一応リダイレクトの手段を用いた後、検索の順位が一時圏外に押しやられていたのが大体元の位置に戻りました。

    ただ、やはりスマートと思わず、タグについては今後増えていきますので、その部分がエラーとして残るので、何かいい方法がありましたらお願いします。

    トピック投稿者 threetails

    (@threetails)

    >umbrella_process様
    お答えありがとうございます。自分の説明が足らなく、迷わせてしまい申し訳ありません。
    現在の置き方を説明させて頂きます。

    http://example.com/ というページに通常のWEBページをおいています。

    WordPressを導入しているアドレスは「http://example.com/wp/」で、「wp」というフォルダに導入し、「index.php」を「http://example.com/」の直下に置き、「http://example.com/01_test」「http://example.com/02_sample」といった風にリンクを張りカテゴリーを表示しています。他のページは、通常のHTMLで書いた静的ページです。
    カテゴリーのスラッグは「01_test」「02_sample」としています。

    通常ページからのリンクでは、「http://example.com/01_test」等もWordPressのカテゴリーとして、普通に表示出来ています。
    googleのクローラーが「http://example.com/01_test」こちらを「http://example.com/01_test/index.html」とWrodPressを無視して存在しない「index.html」を読みに行っているようです。

    「01_test」「02_sample」というフォルダを作成すると、エラーを返すため、「.htaccsess」でgoogle対策のための「index.php」を「index.html」より優先に出来ません。

    今日見つけた回避方法として、スマートではないのですが、
    Redirect permanent /01_test/index.html http://example.com/01_test/index.php
    のようなリダイレクトを「.htaccess」に書き込み、強引にエラーを回避しています。
    ただ実際の所は、「01_test/index.php」も存在しないため、あまり良くないと思っていますし、カテゴリーの複数ページやtagには対応出来ておりません。

    何か他にいい回避策はありませんでしょうか?

    フォーラム: 使い方全般
    返信が含まれるトピック: previous_posts_link の判別
    トピック投稿者 threetails

    (@threetails)

    kz様、いろいろありがとうございました。
    上記の記述を使い試したところうまくいきました。

    以下最終的に記述した内容です。

    <ul>
    <?php
     global $paged;
     $max_page = $wp_query->max_num_pages;
     if($paged > 1){
     /* previous があるよ */ ?>
     <li id="prev"><?php previous_posts_Link('<&nbsp;前のお知らせ'); ?></li>
    <?php }else{
     /* previous がないよ */ ?>
     <li id="prev" class="null">&nbsp;</li>
    <?php } ?>
    <?php  if($paged < $max_page){
     /* next があるよ */ ?>
     <li id="next"><?php next_posts_Link('次のお知らせ&nbsp;>'); ?></li>
    <?php }else{
     /* next がないよ */ ?>
     <li id="next" class="null">&nbsp;</li>
    <?php } ?>
    </ul>
    フォーラム: 使い方全般
    返信が含まれるトピック: previous_posts_link の判別
    トピック投稿者 threetails

    (@threetails)

    お答えありがとうございました。
    内容を確認させて頂きました。

    こちらの内容は、singleなどでの次の記事のprevious_post_link()に対する判別でした。

    念のため試してみたのですが、反映はされませんでした。
    個々の記事での呼び出しのget_adjacent_post()みたいな関数が一覧での呼び出しにもあるかと思い、自分でも現在探しています。

11件の返信を表示中 - 1 - 11件目 (全11件中)