フォーラムへの返信

15件の返信を表示中 - 31 - 45件目 (全178件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: カテゴリとアーカイブについて

    cateory-info.php の先頭(get_header();の上)に下記コードを加えたらどうでしょう。
    *未検証です。

    if ( is_date() ) {
        return get_template_part( 'archive', 'info' );
    }
    get_header(); ?>
    フォーラム: 使い方全般
    返信が含まれるトピック: タグクラウドのクリック後の件数表示について

    カウント数だけがほしいなら

    キーワード数:
    <?php echo (int) $wp_query->found_posts; ?>
    件

    でいけますよ。

    他にも取得したいものがあって自動化するなら
    $tag_properties = get_queried_object();

    カスタム投稿タイプはfunctions.php に定義したものですか?
    だとしたら、register_post_type() の rewrite に ‘with_front’ => false を設定すれば、カスタム投稿タイプについた/blog/を消す事はできますよ。

    が、Custom Post Permalinks との兼ね合いは分かりません。

    functions.php に以下のコードを

    function new_taxonomy_redirect() {
    	if ( strpos($_SERVER['REQUEST_URI'], '/tag/') === false )
    		return;
    
    	global $wpdb;
    	$slug = explode( '/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) );
    	$tid = $wpdb->get_var("SELECT term_id FROM $wpdb->terms WHERE slug = '$slug[2]'");
    
    	if ( $tid ) {
    		$tax = $wpdb->get_var("SELECT taxonomy FROM $wpdb->term_taxonomy WHERE term_id = $tid");
    		if ( $tax != 'post_tag' ) {
    			$red = get_option('siteurl') . '/';
    			$red .= get_taxonomy($tax)->rewrite['slug'] . '/' . $slug[2];
    			$red .= ( isset($slug[3]) ) ? str_replace('/tag/' . $slug[2], '', $_SERVER['REQUEST_URI']) : '';
    			wp_redirect( $red, 301 );
    		}
    	}
    }
    add_filter('wp', 'new_taxonomy_redirect');

    簡単な検証はしていますが…

    • 必要のない余分な処理をしている可能性があります。
    • もっと単純にWPの関数を利用して実現できるかもしれません。
    • wp にフックさせていますが、これが適切かどうかは疑問です。
    • 少なからずサイトのパフォーマンスに影響(悪い)を及ぼします。

    というのをご理解ください。
    なお、もしこれでpoemさんの希望通りになったとしても、コードに対する修正など、他の方からの意見を数日程度待って上で「解決済み」にしていただければと思います。

    タグのアーカイブページは、質問の最初で /tag/abc/xxx.html と記述されて、その後 /tag/abc/ になっていますがどちらが正しいですか?

    例えば「aaa」というタグの場合、アーカイブページのURL はどんな形式になっていますか?

    example.com/tag/aaa/
    ですか? また、最後にスラッシュは付けてますか? あるいは、
    example.com/archive/tag/aaa/
    のように何らかの接続語がつきますか? それとも、最後に .html がつく(?)のですか?
    example.com/tag/abc/xxx.html

    1. URL に /tag/ が含まれる場合 /tag/ 以下のスラッグ部分を抜き出す
    2. 抜き出したスラッグの term_id を調べる
    3. 調べた term_id のタクソノミを調べる
    4. 調べたタクソノミが、タグ(post_tag)以外の場合
    1. タクソノミの rewrite slug を調べる
    2. URLに、/page/2 やクエリ(?***=*** など)が含まれていないか調べる
    3. URLを整形してリダイレクト

    という順序で行えば可能かと思います。
    /tag/ が含まれる全ての URL に対して検証を行うので、リダイレクトの必要がないタグ(post_tag)で管理しているものも含め、その都度 WP を起動して、データベースに問い合わせをする必要があります。

    カスタムタクソノミー管理に変更したものが数百個に及ぶ場合は別として、変更したものを抽出し、jim912さん、kvexさんが提示した方法(.htaccess)での制御の方がいいのではないかと思います。(面倒ですが)

    get_terms() で .htaccess 用に書き出し、それをコピペすれば手間が省ける気がします。
    Redirect permanent /tag/aaa/ http://example.com/writer/aaa/
    これを変更した分だけ繰り返す。

    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿でブログを作るには?

    アイキャッチの方ではなく、投稿欄で入力した画像が出ません

    テーマは何をつかってますか?
    これはブログ記事一覧(アーカイブページ)ですか?
    新着情報、業務連絡、イベント情報などでは画像の表示に問題ないのですか?

    3の表示件数変更のためのコードをどこに書くべき

    ループが始まる前なら、テーマの先頭でも、loop.phpを読み込む直前でも大丈夫です。

    メニューに出す「ブログ」の飛び先URLですが、
    http://*****.com/?post_type=blog

    特に問題はないと思います。僕はデフォルト設定(’query_var’ => true)にしています。
    http://*****.com/?blog=投稿名

    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿でブログを作るには?

    あっ WP3.1 でないとだめです。↑

    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿でブログを作るには?
    1. register_post_type の最後の4行を変更

      'page-attributes'
      ),
      'has_archive' => true
      )
      );
    2. ページ「ブログ」を削除し、index-blog.php を archive-blog.php にリネームする。
      (そのページを他に使い回すのなら、ページスラッグの「blog」は変更しておく)
    3. 表示件数を変更したいなら
      $loop = new WP_Query( array( ‘post_type’ => ‘blog’, ‘posts_per_page’ => 5 ) ); ぶぶんは

      query_posts($query_string . ‘&posts_per_page=5’); または
      query_posts(array_merge(array(‘posts_per_page’ => 5), $wp_query->query)); などで。
      *ポストタイプの指定は必要なし。

    4. 念のためパーマリンクの更新を行う。(何も変更する必要はない)

    これでページングも含め問題なく表示されると思いますy。
    ポストタイプのアーカイブタイトルなどはこの辺を参考に。
    http://varl.jp/note/wp-3-1-custom-post-type-settings-summary

    フォーラム: 使い方全般
    返信が含まれるトピック: 管理画面でnoticeが出るようになりました
    LVP8

    (@lvp8)

    add_options_page() という関数内の第3引数に「数字」が設定されているとこのエラーが出ると思います。Notice で表示されているファイルではなく、恐らくプラグインのメインファイルにその記述があるので、プラグインを直接編集する必要があります。

    Roles and Capabilitiesを参考に、数値(ユーザーレベル)を文字列(権限)に書き換えればOKなはずです。

    トピック投稿者 LVP8

    (@lvp8)

    jim912さん アドバイスありがとうございます。

    post_date(秒まで)の全く同じ投稿が、一日あたり20~30づつ、しかも4年半に渡り続いている、という状態のものでした。order orderby(共にデフォルトのまま) の処理で引っかかっていたのだと思います。

    同じ post_date の中で、ログイン時は投稿IDの小さい順に、非ログイン時は投稿IDの大きい順にソートされていて、前者のほうが処理が早かった?わけです。

    $wp_query の [request] を見ると、ログイン時に post_status = ‘private’ が加わっているだけなのですが、こういう違いが出るものなのでしょうか…。

    結局、pre_get_posts のフックで ‘orderby’ を ‘ID’ に変えたところ、非ログイン時との差がなくなりました。

    jim912さん、ヒントをいただきましてありがとうございまます。助かりました。

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿のナンバーを表示する
    LVP8

    (@lvp8)

    下から4行目は IN より = ですね。

    AND post_type = (‘{$post_type}’)

    フォーラム: 使い方全般
    返信が含まれるトピック: 投稿のナンバーを表示する
    LVP8

    (@lvp8)

    gogoweb さんのアイデアで

    functions.phpに

    function ps_number( $post_type = 'post', $op = '<=' ) {
    	global $wpdb, $post;
    	$post_type = is_array($post_type) ? implode("','", $post_type) : $post_type;
    	$number = $wpdb->get_var("
    		SELECT COUNT( * )
    		FROM $wpdb->posts
    		WHERE @post_date@ {$op} '{$post->post_date}'
    		AND @post_status@ = 'publish'
    		AND @post_type@ IN ('{$post_type}')
    	");
    	return $number;
    }

    @(6箇所)は、削除するかバッククォートに変更してください。

    single.php の表示したい箇所に
    <?php echo ps_number(); ?>

    // デフォルトは投稿(post)だけをカウント
    echo ps_number();

    // カスタム投稿 video だけカウント
    echo ps_number( ‘video’ );

    // post と video(配列で指定)
    echo ps_number( array( ‘post’, ‘video’ ) );

    // 表示している投稿タイプだけ
    echo ps_number( $post->post_type );

    コードの正確性や安全性
    完全には考慮されていません。また冗長なものになっている可能性があるのをご理解の上、
    ご自身で検証いただくようお願いいたします。

    フォーラム: 使い方全般
    返信が含まれるトピック: 固定ページで投稿記事一覧を取得したい
    LVP8

    (@lvp8)

    <?php
    $posts = get_posts('order=DESC&orderby=date');
    // ループ前
    $format = get_option('date_format');
    foreach ($posts as $p) :
    ?>
    
    mysql2date( $format, $p->post_date )

    ということでしょうか…

    フォーラム: 使い方全般
    返信が含まれるトピック: 固定ページで投稿記事一覧を取得したい
    LVP8

    (@lvp8)

    mysql2date( 'Y/m/d', $p->post_date )
    など
    http://codex.wordpress.org/Function_Reference/mysql2date

15件の返信を表示中 - 31 - 45件目 (全178件中)