フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全23件中)
  • 解決しました。

    JS の記述ミスかと考え、
    サイト内を確認しましたら、
    不要なJSがたくさん、、

    整理したところ、URLが正常化し
    リダイレクトもされました!

    最終的な設定は
    on_sent_ok: "window.location.href = 'http://example.com/thanks';"
    です。

    基本的なミスですね。。
    お騒がせ致しました。

    解決しました。

    上記のコードの上に2箇所続けて new WP_Query(); している部分があり
    (photogallery とは違うカスタム投稿なのですが)
    クエリのリセット部分の
    wp_reset_postdata();

    wp_reset_query();
    に変更したところ出力されました。
    (どちらか一箇所だけ変えるとOKでした)

    new WP_Query(); はCodex等でも wp_reset_postdata でリセットすると書かれているので
    ちょっと気持ち悪いのですが、、

    DBやWordPressの仕組みを理解していないのが原因でしょう。
    とりあえず解決とさせていただきます。

    >jim912さん
    そうですね!複数のカスタムフィールドを使う場合がありますよね。

    完全に見落としていました。
    思い通りの出力になりました。
    ありがとうございます!

    wp_reset_postdata(); のご指摘もありがとうございます。
    うっかり、忘れておりました。

    補足ですが、もう一つ誤っていましたので
    記しておきます。

    'compare' => '>=',//カスタムフィールドの方が大きい

    不等号の向きが反対でした。

    自己解決いたしました。

    functions.php

    function create_post_type() {
    register_post_type( ‘news’, array(
    ‘label’ => ‘お知らせ’,
    ‘public’ => true,
    ‘menu_position’ => 5,
    ‘menu_icon’ => ‘dashicons-format-aside’
    ));
    register_post_type( ‘gallery’, array(
    ‘label’ => ‘写真館’,
    ‘public’ => true,
    ‘menu_position’ => 5,
    ‘menu_icon’ => ‘dashicons-images-alt2’
    ));
    register_post_type( ‘calendar’, array(
    ‘label’ => ‘カレンダー’,
    ‘public’ => true,
    ‘menu_position’ => 5,
    ‘menu_icon’ => ‘dashicons-calendar-alt’
    ));
    }
    add_action( ‘init’, ‘create_post_type’ );

    管理画面で、カスタム投稿のアイコン(pin)を別のアイコンに変えるように入れていたコードです。
    これを削除したら、無事アーカイブが表示されました。

    いつも「CPT UI」(旧 custom post type UI)で作成しており
    コードでカスタム投稿を作ったことがないのですが、
    似たような記述に感じたので、競合したのかもしれません。

    お騒がせいたしました。

    (追記)
    header.phpの<head>内に、
    表示内容による条件分岐で読み込むCSSなどを以下のような記述で振り分けています。

    <?php if ( is_front_page() == true ): ?>
    <link type=”text/css” rel=”stylesheet” href=”<?php echo get_template_directory_uri(); ?>/css/home.css” media=”screen,print”>
    <?php elseif( is_archive()||is_single()||is_tax() ): ?>
    <link type=”text/css” rel=”stylesheet” href=”<?php echo get_template_directory_uri(); ?>/css/<?php echo esc_html(get_post_type_object(get_post_type())->name); ?>.css” media=”screen,print”>
    <?php endif; ?>

    昨日まではこれで [カスタム投稿名].css が読み込まれていましたが、
    今はhttp://サイト名.co.jp/[カスタム投稿名]/にアクセスしても
    home用のCSSが読み込まれています。

    固定ページはhttp://サイト名.co.jp/[固定ページスラッグ]/
    問題なく表示されます。

    また、if ( is_post_type_archive() )ではfalseが返ってきているようです。

    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿へのリンク先がhome.phpになる

    タイトルがわかりにくいのと、
    1件めの投稿とはWordPressやプラグインのバージョンが違うため、
    新規にarchive-[カスタム投稿名].phpがあるのに、home.phpが呼び出される
    投稿させていただきました。

    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿へのリンク先がhome.phpになる

    別案件にて、再度この問題が出ております。
    この時も未解決で、成長していないようでお恥ずかしいのですが。。

    • カスタム投稿名:news
    • パーマリンク設定:投稿名
    • フロントページ設定:最新の投稿
    • has_archive : true
    • カスタム投稿の設定はプラグイン「CPT UI」で行い、
      上記以外は全てデフォルトです。

    以上の設定で「http://サイト名.co.jp/news/」にアクセスした際に
    archive-news.php を呼び出したいのですが、
    home.phpが呼び出されます。

    他にも2つカスタム投稿がありますが、「http://サイト名.co.jp/カスタム投稿名/」で
    それぞれの archive-カスタム投稿名.php が問題なく使われます。

    なぜ「news」だけ使われないのでしょうか。。
    調べ方などでも結構ですので、ご教授いただきたく
    お願い致します。

    フォーラム: テーマ
    返信が含まれるトピック: 投稿のカテゴリー一覧を、記事の更新に並べたい

    kjmtshさん、nobitaさん、ありがとうございます!

    お恥ずかしいながら、他の案件にスケジュールを押されて、まだテストできておりません。。
    素早くお返事いただいたのに、申し訳ないです。

    今回の案件では、カテゴリーをラジオボタンにしているので重複の可能性はないのですが
    今後そういった可能性も出てきますね。

    またテストできましたら、改めてお返事させていただきます!

    フォーラム: テーマ
    返信が含まれるトピック: 投稿のカテゴリー一覧を、記事の更新に並べたい

    ありがとうございます、表示されました^^

    もうひとつ、このカテゴリ毎に取り出す投稿を、最新のものにすることはできないでしょうか?

    最初の例えですと、
     3月1日 カテゴリBの記事
     4月1日 カテゴリAの記事
     5月1日 カテゴリBの記事
    と投稿していますが、現在は
    ・カテゴリA 4月1日 タイトル
    ・カテゴリB 3月1日 タイトル
    と表示されており、
    新規記事を投稿しても同じ表示になってしまいます。

    フォーラム: テーマ
    返信が含まれるトピック: 投稿のカテゴリー一覧を、記事の更新に並べたい

    早速のご返信ありがとうございます!

    いただいたコードをそのまま入れてみたのですが、エラーが出てしまいました。

    htmlソース上部

    Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘every_cat_grouby’ not found or invalid function name in /wordpress/wpincludes/plugin.php on line 256

    また、記事もカテゴリ毎ではなく、全投稿が表示されております。

    functions.phpでどこかカスタマイズが必要だったのでしょうか。

    返事が遅くなり、失礼いたしました。
    そして、ありがとうございます!

    とても勉強になりました!
    お恥ずかしいながら、PHPの勉強をあまりしていないもので、
    使用したことのあるコードならなんとか読めるのですが、
    自分で組み合わせるまでは、なかなか難しく…

    次回以降の参考にさせていただきますね。

    この方法での解決はしませんでしたが、
    項目を全出力し、選択したものだけクラス付与することができました。

    カスタム分類ではなく、カスタムフィールドを使用しました。

    <dt>イメージ</dt>
        <dd>
          <ul class="clearfix">
            <li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'フェミニン':echo ' current-cat';break;}} ?>">フェミニン</li>
            <li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'エレガンス':echo ' current-cat';break;}} ?>">エレガンス</li>
            <li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'グラマラス':echo ' current-cat';break;}} ?>">グラマラス</li>
            <li class="clear<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'ガーリー':echo ' current-cat';break;}} ?>">ガーリー</li>
            <li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'クール':echo ' current-cat';break;}} ?>">クール</li>
            <li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'ナチュラル':echo ' current-cat';break;}} ?>">ナチュラル</li>
            <li class="clear<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'カジュアル':echo ' current-cat';break;}} ?>">カジュアル</li>
            <li class="<?php $images = (array)get_post_meta($post->ID,'イメージ',false);foreach ($images as $image) {switch ($image) {case 'モード':echo ' current-cat';break;}} ?>">モード</li>
          </ul>
        </dd>

    (listをフロートさせ、3つごとにclearさせています)

    非常に冗長なソースになりましたが、このような方法もあるということでアップいたします。

    構文エラーでした。
    echo <<< EOM」の行および
    EOM;」の行を
    タブで下げていました。

    PHP記述の基本的ミスでした。すみません。
    (参考:http://ecdaa.com/heredocument/)

    Tsuyoshi.さん、ありがとうございました!

    説明不足ですみません。
    エラーは、

    Parse error: syntax error, unexpected T_SL in /exsample/wp/wp-content/themes/exsample/header.php on line 149

    で、149行目は「echo <<< EOM」の行です。

    EOM〜EOM;の中に何も書かなくても、同じエラーが出ているので、
    そもそも条件分岐内でヒアドキュメントが使えないのかなと考えています。

    検索して出てきたのがこういう方法なのですが
    http://okwave.jp/qa/q7446139.html
    私は、条件分岐内にHTMLを書きたいので、
    やりたいことが逆?のような感じで
    頭がこんがらがっています。

    ひとまず解決済みとさせていただきます。

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