-
投稿者検索結果
-
2021年10月13日 2:49 PM #89230
返信が含まれるトピック: カスタム投稿一覧の表示方法と抜粋を非表示にしたい
ありがとうございます。
いただいたコードですが下記のようにするということでしょうか。これではカスタムフィールドも表示されませんでした。使い方が間違っていますでしょうか。
add_action( 'snow_monkey_get_template_part_template-parts/loop/entry-summary/content/content-{contract}', function( $html ) { if (get_post_type() === 'contract'): //カスタム投稿contractに限定する // 以降の出力を変数に格納する ob_start(); ?> <div class="contract-data"> <p>表示1:<?php echo esc_html (get_field('type')); ?></p> <p>表示2:<?php echo esc_html (get_field('station')); ?></p> <p>表示3:<?php echo esc_html (get_field('time')); ?></p> </div> <?php // 変数に格納する $type = ob_get_clean(); // </header>を書き換える return str_replace( '</header>', '</header>'.$type, $html ); endif; return $html; } );
♥ 0いいねをした人: 居ません*****[ プライベートトピックのため非表示 ]♥ 0いいねをした人: 居ません2021年9月14日 4:25 PM #87127返信が含まれるトピック: 任意のタクソノミー(レイアウト:パネル)に、カスタム投稿で入力している項目を表示したい
shiさん
くわしくありがとうございます。
概ね以下のコードをmy-snow-monkey.php
に追加していただければ、ご希望の表示はできると思います。(もっと良いコードの書き方はあると思いますので参考までに(^^;)使用している
get_field()
の部分は、設定しているフィールド名に変更してください。
また不要なものは消してください。add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary', function( $html ) { if ( 'event' === get_post_type() ): ob_start(); ?> <?php // カスタムフィールド:開催日 → event_day // ACF デイトピッカー(返り値:Ymd) $eDate = get_post_meta( get_the_ID(), 'event_day', true ); $date = date_create( $eDate ); // 曜日用 $week = array("日", "月", "火", "水", "木", "金", "土"); // 開催日の表示は 「月.日」に変更 $eventDay = date_format($date,'n.j'); $today = wp_date('Ymd'); // カスタムフィールド:開始時刻 → event_starttime // ACF Time Picker(返り値:G:i) $startTime = get_field( 'event_starttime' ); // カスタムフィールド:開始時刻 → event_endtime // ACF Time Picker(返り値:G:i) $endTime = get_field( 'event_endtime' ); // 開催日以降の判定 // 開催日よりも今日の日付が大きい場合 $preriod = strtotime($eDate) < strtotime($today); // カスタムフィールド:概要欄 → event_txt // ACF テキストエリア(改行:なにもしない) $eventSummary = get_field( 'event_txt' ) ?> <div class="event_day_post"> <p class="event_date"><?php echo esc_attr( $eventDay) ; ?><span class="week"><?php echo esc_attr( $week[(int)date_format($date,'w')] ) ?></span></p> <p class="event_time"><?php echo esc_attr( $startTime ) ; ?> - <?php echo esc_attr( $endTime ) ; ?></p> </div> <div class="event_txt"> <p><?php echo nl2br( esc_attr( $eventSummary ) ); ?></p> </div> <?php if( $preriod ): ?> // 開催日以降の条件分岐 <div class="event_finish">終了しました</div> <?php else: ?> <div class="event_open">これから開催です</div> <?php endif; ?> <?php $event = ob_get_clean(); return str_replace( '</header>', '</header>'.$event , // 投稿タイトルの下に追加 $html ); endif; return $html; } );
結果 ↓
2021年9月14日 3:07 PM #87113返信が含まれるトピック: 任意のタクソノミー(レイアウト:パネル)に、カスタム投稿で入力している項目を表示したい
GONSY様、はじめまして。ありがとうございます。
分かりづらく申し訳ございません。
>①カスタム投稿タイプとのことですが、任意のタクソノミーの投稿ブロックのみで良いでしょうか?
任意のタクソノミーの投稿ブロックで良いです。
>②最近の投稿ブロックブロックやアーカイブなどで表示することはありますか?
最近の投稿ブロックはカスタムではない、標準の「投稿」を表示する時に使用しています。
>③投稿ページ(イベントごとの個ページ)での表示は不要でしょうか?
カスタム投稿(events)で作成した投稿は、個別の投稿ページ=single-events.php(plugins/my-snow-monkey/override/single-events.php)で表示されるようしています。
任意のタクソノミー
>④カスタムフィールドはどんな方法で入力させていますか?
Custom Post Type UIでカスタム投稿タイプ、Advanced Custom Fieldsでカスタムフィールドを作っています。
答えになっていますでしょうか。
よろしくお願いいたします。
2021年9月12日 10:56 PM #86954返信が含まれるトピック: 任意のタクソノミー(レイアウト:パネル)に、カスタム投稿で入力している項目を表示したい
2021年8月24日 12:23 PM #85240返信が含まれるトピック: 最新の投稿ブロックのテキストをカスタムフィールドで表示したい
市岡歩夢さん、こんにちは。
ほかにも方法はあるかと思いますが、こちらでご希望のことができると思います。
カスタム投稿タイプ名は
member
。
Advanced Custom Fieldsのカスタムフィールド(設定)は- カスタムフィールド名:spec
- フィールドタイプ:テキストエリア
- 改行:なにもしない
投稿画面でのカスタムフィールドの入力は
選手経歴______________ 出身地_________________ ポジション___________ 一言____________
と、改行しています。
これらを前提として、my-snow-monkey.php
に以下を追記/** * 【最近の投稿】(シンプル)投稿タイプ「メンバー」のみカスタムフィールド"spec"を表示 */ add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/content/content', function ( $html ) { if ( 'post' == $post_type ) { return $html; } if ( 'member' == get_post_type() ) { return sprintf( '<div class="c-entry-summary__content">%1$s</div>', nl2br( esc_html( get_field( 'spec' ) ) ) ); } return $html; }, 10, 4 ); /** * CPT"member"のシングルページにカスタムフィールド"spec"を表示 */ add_action( 'snow_monkey_prepend_entry_content', function() { if ( is_single() && 'member' === get_post_type() ) { ?> <div class="member_spec"> <p><?php echo nl2br( esc_html( get_field( 'spec' ) ) ); ?></p> </div> <?php } } );
これでどうでしょうか?
お試しください。2021年8月23日 9:48 AM #85135【お使いの Snow Monkey のバージョン】15.3.5
【お使いの Snow Monkey Blocks のバージョン】12.0.1
【お使いの Snow Monkey Editor のバージョン】6.0.0
【お使いのブラウザ】Chrome
【当該サイトのURL】以下の記事を参考にし、一覧ページにカスタムフィールドを反映させる設定を進めております。
ですが、単一のカスタムフィールしか表示されず、複数のカスタムフィールを表示させる方法をご教示頂けないでしょうか。宜しくお願い致します。♥ 0いいねをした人: 居ません2021年8月22日 4:28 PM #85080返信が含まれるトピック: カスタムフィールド値を記事ページで表示したい
こんにちは。
カスタムフィールドをどこに表示させるかで、方法は変わってくると思います。
記事の本文中に差し込みたい場合は、Oleinさんのおっしゃられているようにショートコードを使う方法が良いと思いますが、もし記事本文の下とかに表示するのならば、アクションフックを使用するのが簡単だと思います。
記事本文の下に表示する場合は、snow_monkey_append_entry_content
で表示できます。add_action( 'snow_monkey_append_entry_content', function() { the_field( 'result' ); } );
2021年6月22日 10:21 AM #78992返信が含まれるトピック: 「krc-cast-manager」というプラグインを使用たい
まず、多くの場合
single-cast.php
のような大本になるテンプレートの追加は必要ありません(例えばページレイアウトを独自に操作したい場合は必要になると思います。)。追加しなくても Snow Monkey の
singular.php
が標準的なレイアウトを適用して、カスタム投稿タイプ用のビューファイル(/templates/view/content-cast.php
)を呼び出します(ない場合は Snow Monkey の/templates/view/content.php
が呼び出されます)。カスタム投稿タイプ、カスタムフィールドを制作したのですが、カスタムフィールドをWEB画面に表示できません。
WordPress のカスタムフィールドは、カスタムフィールドに値を保存しただけでは何も表示されません。表示用の処理を追加する必要があります。添付いただいたトピックではカスタムフィールドの値を表示するショートコードをつくって対処しているようですね。参考にされたということですが、ショートコードは作成済みでしょうか?
この場合、
/templates/view/content-cast.php
を設置して中身を変更していけばよろしいのでしょうか?ショートコードを使わずに直接テンプレートに記述する場合は設置したほうがラクだと思います。
♥ 0いいねをした人: 居ません2021年6月21日 4:51 PM #78935返信が含まれるトピック: 「krc-cast-manager」というプラグインを使用たい
お時間を作って調べていただきありがとうございます。
知人とも相談した結果、投稿タイプでプラグインを使わず一から作ることになりました。
カスタム投稿タイプ、カスタムフィールドを制作したのですが、カスタムフィールドをWEB画面に表示できません。下記のフォーラムを参考にさせていただきましたが
テンプレートは、
single-cast.php
で表示されており、内容はsingular.php
からコピーして以下の通りです。======================================
/** * @package snow-monkey * @author inc2734 * @license GPL-2.0+ * @version 13.2.0 */ use Framework\Controller\Controller; $_post_type = get_post_type(); $layout = get_theme_mod( $_post_type . '-layout' ); $layout = $layout ? $layout : get_theme_mod( 'post-layout' ); $content_view = get_theme_mod( $_post_type . '-view' ); $content_view = $content_view ? $content_view : $_post_type; Controller::layout( $layout ); Controller::render( 'content', $content_view );
======================================
この場合、
/templates/view/content-cast.php
を設置して中身を変更していけばよろしいのでしょうか?このページのコードを何個か入力してみたのですが何も表示されませんでした。
問題点や勘違いしていることがありましたらご指摘いただけるとありがたいです。
よろしくお願いいたします。
♥ 0いいねをした人: 居ません2021年6月21日 1:22 PM #78902返信が含まれるトピック: 「krc-cast-manager」というプラグインを使用たい
をみてとりあえずインストールと詳細ページ用のテンプレートパーツを追加するところまでやってみたのですが、正直なところエラー処理が甘く、未設定の項目があると Fatal Error になったりして正しく表示させるところまで持っていけませんでした。このプラグインに詳しくないので、調査するにはこのプラグインのコードを読んで確認していかないといけませんが、僕のプロダクトではない&WordPress 公式ディレクトリのプラグインでもないのでちょっとそこまでやるのは難しいです。
単純にページを表示するだけなら何もテンプレートパーツを追加しなくても表示だけはされます。個人的にはそこから必要なカスタムフィールド名を調べて自分でテンプレートパーツをつくったほうがラクなんじゃないかと感じました。
Snow Monkey はページを表示するためのテンプレートが「レイアウトファイル」と「ビューファイル」にわかれており、例えば cast というカスタム投稿の場合は、一覧は /templates/view/archive-cast.php、詳細ページは /templates/view/content-cast.php をつくればレイアウトはそのままに中身の部分だけ独自につくることができます。
♥ 0いいねをした人: 居ません2021年5月7日 2:09 PM #75132「投稿ページに記載したイベントの年月日」は、おっしゃる通り単に投稿の中に段落ブロックに年月日のテキストを入れているだけです。
投稿のコンテンツの中に、段落ブロックなどで入力しただけのテキスト(本件であればイベントの年月日)を、アーカイブなど他の場所に引っ張ってきて表示させるということはできません。
おそらく実現されたいことを拝見する限りでは、投稿に対してカスタムフィールドを用意し、そちらに年月日情報を入力して投稿と紐づけます。
そちらをPHPなどで処理をして、アーカイブ一覧ページの各投稿部分に表示させるという方法が一般的かと思います。
そのためには、My Snow Monkey などでプラグイン形式でカスタマイズできる環境を用意し、PHPへの多少の理解が必要になります。
2021年4月13日 11:03 PM #73194返信が含まれるトピック: snow monkey Formsのメールアドレスが設定できません
WordPress の仕様というか HTML の仕様というかそんな感じです。
デフォルトのカスタムフィールドの入力欄を表示する状態にしていると、僕がつくったメールアドレスの入力欄がまずあって、その後にデフォルトのカスタムフィールドの入力欄が続く形になります。この場合、僕がつくったメールアドレスの入力欄の名前と、後続するデフォルトのカスタムフィールドの入力欄の中にあるメールアドレス用の入力欄の名前が重複する形になり、その場合は後にあるほうの入力欄の送信値が優先される状態になります(これが HTML の仕様です)。
なので前にある「僕がつくったメールアドレスの入力欄」に入力したとしても、後にある「後にデフォルトのカスタムフィールドの入力欄」の値(空の値)で上書きされてしまい、入力した値が反映されないようにみえる、ということになります。
ということでトピック閉じます!
♥ 0いいねをした人: 居ません2021年4月13日 5:44 PM #73178返信が含まれるトピック: snow monkey Formsのメールアドレスが設定できません
遅くなりすみません。
カスタムフィールドを表示させていて、カスタムフィールドに入力して解決できました。
カスタムフィールドを非表示にしても解決するんですね。
ありがとうございました。♥ 0いいねをした人: 居ません2021年4月13日 5:38 PM #73177返信が含まれるトピック: snow monkey Formsのメールアドレスが設定できません
横からすいません。
今まさに同じ状況で行き詰まっていていたのですが、デフォルトのカスタムフィールド入力欄を非表示にすると解決しました。♥ 1いいねをした人: 居ません -
投稿者検索結果