フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全42件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: 新規投稿時にパスワードをプリセットしたい
    トピック投稿者 Pineapplen

    (@pineapplen)

    ありがとうございます!
    テストしてみました。100%希望通りの挙動でした。
    こちらでフックの説明を読みました。
    https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_insert_post_data
    DBへの挿入の際に働くとなっているので、「保存」の際に通るのかと思いましたが、
    「新規投稿」で画面を開いた際にすでにパスワードがセットされていました。
    「DBへの挿入」はもっと早い段階で動いているということがわかりました。

    本当にありがとうございました。

    フォーラム: 使い方全般
    返信が含まれるトピック: 3日分ずつの記事ループは可能でしょうか?

    こんにちは。

    もしくは、「日」アーカイブで
    その「日」と「その前2日間」の投稿を表示させる
    とかでしょうか。
    前後リンクの記述がめんどくさそうですけど。

    URLは「/page/2」とかにはできないように思います。

    フォーラム: プラグイン
    返信が含まれるトピック: 複数の入力フィールドのグループ化について

    Pro版でも動くかどうかわかりませんが、項目を横並びに設定できるプラグインがあります。
    「Advanced Custom Fields: Multiple Fields per row」
    https://ja.wordpress.org/plugins/advanced-custom-fields-row-field/

    ちょっと癖があるというか、うまく設定できないときがあるので
    mypacecreatorさんのおっしゃってる方法の方が確実ですけど…

    フォーラム: プラグイン
    返信が含まれるトピック: Advanced Custom Fieldsの投稿オブジェクトについて

    kento1222さん、こんにちは。

    ACFのPROは使用していないので違う部分もあるかもしれませんが…

    ACFの「ルール」で「ユーザー」を選択すると、選択肢は「ユーザー権限」になります。
    これを「ID」で指定できるようにしたいということでしょうか?
    フックなどで変更することもできるかもしれないですが、
    新たな「ユーザー権限」を作成し、
    編集を許可するユーザーの権限を変更する方法はいかがでしょう。

    ユーザー権限の作成は、add_role() という関数があり、それを利用します。

    このあたりが参考になるのではないでしょうか。
    https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_role

    https://gatespace.jp/2012/05/24/custom-post-type-and-user-role-fix/

    こうしたことができるプラグインもあるかもしれませんね。

    ioxrxogiさんが提示してくださった参考記事のほうで
    nobitaさんがチラッと書いていらっしゃいますけど、
    pre_get_posts を使ってできますよ。

    以下をfunctions.phpに追記してみてください。
    他に書いているコードとの関係でNGなこともあるかもしれませんけど。

    
    // 管理画面での表示リスト順変更
    add_action( 'pre_get_posts', 'custom_post_sort' );
    function custom_post_sort( $query ) {
    	if ( ! $query->is_main_query() ) 
    		return;
    
    	elseif ( is_admin()
    	 && ( isset( $query->query_vars['post_type'] ) && $query->query_vars['post_type'] == '【カスタム投稿タイプ名】' ) ) {
    		$query->set( 'meta_key', '【カスタムフィールド名】' );
        	$query->set( 'orderby', 'meta_value_num' );
        	$query->set( 'order', 'DESC' ); // 降順
    	}
    
    }
    
    フォーラム: 使い方全般
    返信が含まれるトピック: カスタムフィールドだけで作ったページを分割

    同じではありませんが、似たようなことを実装したので、ヒントになればと思います。
    前提として、ページ分割表示を行ないたいこの対象のページは「固定ページ」ということでよかったでしょうか?

    1ページ目では、リピート項目をn回分ループしたら、そこから抜ける(break文を使いました)という処理を行ないます。
    2ページ目以降では、1ページ目で設定しているカスタムフィールドの内容を取得し、「n*(ページ数-1)+1回目のループからn回ループする」という処理をさせます。
    それぞれのページを行き来できるようにするリンクの出力なども自動ではできませんので、必要に応じて書きます。

    「n回」が固定ではない場合は、もう少し複雑になりますが、基本的な処理の流れは同じで行けるのではないかと思います。

    注意点としては、2ページ目以降になる固定ページを事前に作成しておく必要があることです。
    ページ数がわからない場合は、多めに作成しておくといいと思います。

    私は、処理の内容は、functions.phpに記入し、the_contentにフックして表示するようにしました。

    こんなイメージでできるのではないかと思いますがいかがでしょうか?

    フォーラム: 使い方全般
    返信が含まれるトピック: 新着情報に更新内容を伝える方法。

    実装したことはありませんが、需要としてはありそうなので、方法を考えてみました。

    考え方としては、以下のようになるかと思います。

    1.カスタムフィールドとして 「更新日」「タイトル」 の2つを作成

    2.「新着情報」を表示している部分の表示投稿を取得するクエリに
     上記で作成した「更新日」も加えるように修正し、並び順も変更

    3.「更新日」が入力されている投稿では、
     作成日の代わりに「更新日」を表示
     投稿タイトルの代わりに「タイトル」を取得し表示

    カスタムフィールドの追加や、それらの情報を取得・表示する方法、
    クエリへ働き掛ける方法などは
    個別に調べれば、情報はいろいろな方が公開してくださっていますし、
    Codexにも掲載されています。

    ご自分のやれることや理解の範囲などを確認しながら少しづつ進めてみてはいかがでしょうか?

    Pineapplen

    (@pineapplen)

    こんにちは。
    もう見つけているかもしれませんが、
    ルールの「投稿」の中に「Post Taxonomy」を選択すると指定できるようになります。
    この「仕様」、わかりにくいですよね。

    トピック投稿者 Pineapplen

    (@pineapplen)

    解決済みです。

    トピック投稿者 Pineapplen

    (@pineapplen)

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

    できました!感激です。

    PHPの理解の問題というか、基本ですね。もっと勉強します。
    本当にありがとうございました。

    function manage_dkns_cat_columns( $columns ) {
    	$columns['dkns_c_cat_color'] = "色";
    	return $columns;
    }
    add_filter( 'manage_edit-dkns_cat_columns', 'manage_dkns_cat_columns' );
    
    function add_dkns_cat_column( $column, $column_name, $term_id ) {
    	if ( $column_name == 'sc_cat_color' ) {
    		$color  = esc_attr( get_field( 'dkns_cat_color', "dkns_cat_$term_id" ) );
    		$column = '<span style="color: ' . $color . '" class="dashicons dashicons-category"></span>';
    	}
    	return $column;
    }
    add_filter( 'manage_dkns_cat_custom_column', 'add_dkns_cat_column', 10, 3 )
    トピック投稿者 Pineapplen

    (@pineapplen)

    KUCKLUさん、ありがとうございます。

    説明が難しいのですが、
    「カスタム分類」に設定したカスタムフィールドを取得する場合、
    第2引数は、【カスタム分類名_タームID】で正解だと思うのですが…

    参考にしたのはこちらなどです。
    http://www.advancedcustomfields.com/resources/how-to-get-values-from-a-taxonomy-term/
    http://blog.makko.jp/2012/3508.html

    公開側では上記のページのように、表示したい投稿の情報から
    タームの情報を取得して、タームのIDを取り出す方法をとっていますが、
    管理画面のカテゴリー一覧のページでは特定の「post」の情報から、
    取り出すわけではないため詰まってしまっています。

    根本的に自分のPHPの知識が足りていないのはわかっているのですが….
    よろしくお願いいたします。

    Pineapplen

    (@pineapplen)

    「「Advanced Custom Fields」で入力した各項目を表示させたい。」
    ということだけであれば、以下のようになります。

    「Advanced Custom Fields」で設定した項目を取得・表示する書き方は、

    取得する

    get_field( '【設定したフィールド名】', $post_id );

    表示する

    the_field( '【設定したフィールド名】', $post_id );

    ※ループの中であれば、 , 以降の部分は必要ありません。

    ですが、この場合に修正する箇所としては、
    page.phpの以下の部分で表示したい内容を追加して取得する。

    <?php //イベントスケジュールを配列に格納
        $eventID = get_permalink();
        $eventTitle = get_the_title();
        $eventDate = get_post_meta($post->ID,'game-date',TRUE);
        $eventPref = get_post_meta($post->ID,'victory',TRUE);
        preg_match('/\d{2}日/' , $eventDate , $matchDate);
        $eventData = $matchDate[0]."\t".$eventTitle."\t".$eventID."\t".$eventPref."\t";
        array_unshift($eventArray, $eventData);
    ?>

    functions.phpの以下の部分を変更して表示したい内容が表示できるようにする。

    foreach($eventArray as $eventArrayData) {
                $eln = explode("\t", $eventArrayData);
                if($eln[0] == $day){$tmp .= '<a href="'.$eln[2].'">'.$eln[1].'</a>';}
            }

    という作業が必要でしょう。
    私自身は、参照元サイトのコード自体はほとんど参照していないので、
    ちゃんと読んでいなかったのですが、内容部分の取得・表示については
    かなり省略されていますね。あれこれコードを追加する必要があるようです。

    すこしづつ、やってみましょう。
    また、シングルページ(試合後に内容を入力したら表示させたいページ)を
    先に作成してみると、感覚がつかめるのではないかと思います。

    Pineapplen

    (@pineapplen)

    「どうもうまくいきません」の内容がわからないと、みなさんアドバイスできないです。
    まず、みなさんに状況がわかるようにしましょう。

    カレンダーシステムの構築・表示には以下のようなステップが必要だと思います。

    1.カスタム投稿タイプ「game」の作成はできているか?
    2.「Advanced Custom Fields」で「game」に必要な情報を入力することはできているか?
    3.登録した内容を表示させるために必要なページ・テンプレートを作成することができているか?

    うまくいかない内容は、上記のどれかでしょうか?
    または、全く異なる内容でしょうか?

    私もつい最近、参照先のカレンダー作成の流れを参考にして、同じようなカレンダーシステムを作成したところです。
    いくつものステップが必要ですので「どこまでできたのか」を見通しながらすすめるといいとおもいますよ。

    今ちょうど同じようなことをしていましたので、少しだけ….
    自分自身もまだまだ勉強中の身ですので、全くの思い違いでしたらスミマセン。

    'meta_query'  => array( array(
        'key'     => 'wpcf-event_date',
        'value'   => date( 'Y/m/d' ),
        'compare' => '>=',
        'type'    => 'DATE',
    ) ),

    この部分で取得している日付の書式は揃っていますか?

    あと、「value」の方は、 date_i18n() としてあげないと、
    時差分現在時とずれませんか?

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