サポート » 使い方全般 » 投稿にて登録済のアイキャッチを順番に表示させたい

  • sasaki0125

    (@sasaki0125)


    現在、投稿にて登録した記事のポストIDの一桁目を判別し、アイキャッチを自動に吐き出すように組んでおります。
    (12345→「5」番の画像表示 54321→「1」番の画像表示などのようにしてますので、合計10件のデフォルト画像を用意してます)
    しかしWPの仕様上、ポストIDが綺麗に順番に吐き出されないため、
    記事を投稿した際に、12345→12355 というように一桁目が同じ数字で続いてしまい、
    同じアイキャッチが記事一覧に並ぶことが多々ありましたので、作り変えを考えております。

    理想としましてはタイトル通り、順番に吐き出すことではありますが
    (現状の仕組みでは順番には出来なかったので苦肉の策でランダムにしてます)
    同じ画像が重ならないために何かアドバイス頂けますと幸いです。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • msio

    (@msio)

    カスタムフィールドに番号を振ってはいかがでしょうか。
    吐き出す、について投稿記事が自身の番号を保持しないのであれば記事総数から当該記事の位置で算出できるのではないでしょうか。
    posts配列内の当該記事位置-(floor(posts配列内の当該記事位置/画像枚数)*画像枚数)=順番の画像番号

    直近の前後と重複しない独自性の確保 にあまり有意性を感じることができませんので変化をつけるのであれば時間帯や曜日、テーマや目的の達成度に対して変化をつけることをお勧めしたいのですがいかがでしょうか。

    ishitaka

    (@ishitaka)

    こんにちは

    公開時カウンターみたいのをオプション等に持たせる方法ではどうでしょうか。
    ※ ただし、投稿を削除したりステータスの変更等に対応できません。。。

    function my_transition_post_status( $new_status, $old_status, $post ) {
    	if ( $post->post_type == 'post' ) {
    		if ( $old_status != 'publish'  &&  $new_status == 'publish' ) {
    			$counter = get_option( 'my_publish_post_counter' );
    			$counter = intval( $counter ) + 1;
    			update_option( 'my_publish_post_counter', $counter );
    		}
    	}
    }
    add_action( 'transition_post_status', 'my_transition_post_status', 10, 3 );
    nobita

    (@nobita)

    こんにちは、

    投稿IDで計算しているものを、総投稿数等に置き換えてみるといった事ではどうでしょうか?

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「投稿にて登録済のアイキャッチを順番に表示させたい」には新たに返信することはできません。