フォーラムへの返信

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • フォーラム: プラグイン
    返信が含まれるトピック: MW WP Form をテーマファイル以外で使いたい。
    トピック投稿者 fukufumi

    (@fukufumi)

    テンプレートファイルと固定ページで対応できそうなので、無事解決しました。
    知らないことが分かり、大変助かりました。
    ご丁寧にありがとうございました。

    フォーラム: プラグイン
    返信が含まれるトピック: MW WP Form をテーマファイル以外で使いたい。
    トピック投稿者 fukufumi

    (@fukufumi)

    お返事ありがとうございます。
    とても使いやすいプラグインなので、愛用させていただいています。

    テンプレートファイル以外ではショートコードが使えないということですね。
    ショートコード以外で表示する方法なども探していたのですが、そもそもテンプレートファイル以外のファイル(今回のようなテーマ外のphpファイル)にはプラグインの表示が難しいということですね。

    トピック投稿者 fukufumi

    (@fukufumi)

    できました!
    Page Cache → Never cache the following pages:
    にキャッシュしたくないページを入力するといけました。
    記入方法としては

    wp-.*\.php
    index\.php
    /form_input/
    /form_confirm/
    /form_complete/
    /form_error/

    です。(//内はフォームの固定ページ名)
    こちらを記入した後に「Dashboard」 → 「empty all caches」でキャッシュをクリアすると設定が反映されました。

    MW WP Formも問題なく動いています。
    大変助かりました。ありがとうございます!

    トピック投稿者 fukufumi

    (@fukufumi)

    お返事ありがとうございます。
    キャッシュを使う上でのリスクに関する記事参考になりました。
    実際、フォームがページ移動できないという問題も発生しており、
    気軽に導入できないことを実感しています。

    プラグインを使用しつつ、キャッシュが必要ないページをキャッシュしない方法がわかればいいのですが、今のところみつけられない次第です。

    トピック投稿者 fukufumi

    (@fukufumi)

    ありがとうございます!
    function.phpに書くことで、普通の投稿とカスタム投稿の両方で1日単位のランダムができました!
    自分で考えていると泥沼にはまっていたと思います!

    kjmtshさん、何度もソースのご提供、本当にありがとうございました。
    制作する必要があるサイトで、一人ではできなかったので大変助かりました。
    WordPressの使用もだいぶ慣れてきたと思っていましたが、カスタマイズにはまだまだ勉強が必要だと実感しました。
    みなさんがご意見を出してくださったので、新たに学んだ事がたくさんありました。
    ありがとうございました。

    トピック投稿者 fukufumi

    (@fukufumi)

    使い方を間違っていましたか。
    必要以上にデータベースにアクセスしていたんですね。
    改めてご指摘ありがとうございます!

    ページ内にふたつなんですが、
    home.phpとsidebar.phpに分かれており、別種類の投稿を両方ともランダム表示させようとしています。

    homeの方で普通の投稿をランダム表示し、
    サイドバーの方ではカスタム投稿で作った投稿をランダム表示するというものです。
    (ブラウザの見た目上は1ページですが、phpファイルが分かれており、投稿内容も違います)

    この場合もオブジェトはひとつと捉えて良いのでしょうか。
    おかげさまで、後一歩のところまで来ましたが、自分の不慣れのため後はその課題だけです。
    いただいたソースを元に考えてみます!

    トピック投稿者 fukufumi

    (@fukufumi)

    お礼が遅くなり大変失礼しました。(ソースをいただきながらも多少苦戦していました)
    MySQLの関数を使用させていただき、無事やりたいことができました!

    <?php
    function myorderby($orderby) {
    return ‘RAND(CURDATE())’;
    }
    add_filter(‘posts_orderby’, ‘myorderby’);
    $loop = new WP_Query($args);
    ?>
    <?php query_posts( array(
    ‘post_type’ => ‘test’,
    ‘posts_per_page’ => 5
    )); ?>
    <?php if(have_posts()): ?>
    <?php while(have_posts()):the_post(); ?>
    (ループ内容)
    <?php endwhile; else: wp_reset_query(); ?>
    <?php remove_filter(‘posts_orderby’, ‘myorderby’); ?>

    で、カスタム投稿の記事を5件表示し、1日毎にランダムで切り替わる処理ができました!
    大変助かりました、ありがとうございます。

    同じページにループが2つ以上ある場合にひとつしかきかず、まだ苦戦中ですが、とりあえずやりたいことができました!
    ご丁寧にありがとうございました。

    トピック投稿者 fukufumi

    (@fukufumi)

    >gogowebさん
    ユーザーごとではなくサイトごとです。
    厳密にいうと、トップページと下層の新着情報一覧の2ページにランダム表示を適用したいです。

    キャッシュやクッキーで対応しまうと、ユーザー側でPCやスマホなど閲覧する端末が変わった時や、ブラウザの設定によってランダム表示が変わってしまうのは避けたいです。

    コンテンツの詳細を話せなくて申し訳ないのですが、
    例えてみると、「今日のわんこ」というコンテンツを作ったとします。
    ・毎日4匹の犬の画像とその犬の名前を表示。画像と犬の名前はカスタム投稿で追加。
    ・1日毎に4匹の犬は変わる。
    ・”今日の”わんこなので1日の間に(リロードする度に)犬が変わってはいけない。
    ・ランダムで出てくる犬は投稿日順ではなく、並び順もランダム。

    やりたいことはこんな感じです。
    なのでユーザーの見る環境が変わった場合にも1日の間は同じ内容が出て、1日経つと新しいランダム表示が反映される結果にしたいです。

    投稿のスラッグに曜日を指定してdate関数で切り替えるなどやり方は可能でしたが、これでは記事の投稿日順に出てきてしまうので(投稿日が早い記事がいつも上位にきてしまう)、やはりphpの関数などで実装したいです。

    >nobitaさん
    これは初めて知りました!
    データベースの情報の期間調整なのでしょうか・・調べてみます!

    トピック投稿者 fukufumi

    (@fukufumi)

    ご回答いただきありがとうございます!
    ネットでカスタム投稿のランダム表示に関しての記事を探していますが、なかなか見つけられないので、とても助かります。

    >nobitaさん
    キャッシュ系プラグインでの処理なのですが、Quick Cacheを利用する予定で、キャッシュのクリアも必要な時は頻繁に行うようになりそうですので、キャッシュ処理は難しそうです・・・

    >kjmtshさん
    WordPressと共にPHPも勉強中でして、申し訳ございませんが後半の文章の意味すら理解できていない状態です。

    <?php
    $loop = new WP_Query( array( ‘post_type’ => ‘test’, ‘posts_per_page’ => 5, ‘orderby’ =>rand ) );
    while ( $loop->have_posts() ) : $loop->the_post();
    ?>

    このループの ‘orderby’ =>rand を
    RAND()に入れかえればいいのでしょうか?
    $seedの変数で日付を取得し、日付が変わると新しいランダム表示に切り替わるという理解でよろしいでしょうか。

    ちなみにRAND($seed) とためしてみましたが、真っ白状態です・・・

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