-
投稿者検索結果
-
2022年3月31日 11:08 AM #102104
返信が含まれるトピック: 「投稿者と投稿日の表示順番」を、投稿記事一覧と投稿記事ページで統一したい
キタジマさん
お忙しい中ありがとうございます。いただいたコードだと
author
が重複して2つ表示されたので、見よう見まねで次のようにしたところ、求める形になりました。正しいコードを書いているのか分かりませんが。。。add_action( 'after_setup_theme', 'my_remove_action' ); function my_remove_action() { remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 30); } add_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 9 );
PHP知識のない者ですが、分かりやすいご説明があったので自分で調べることもできました。重ねてお礼申し上げます。
■参考にしたサイト
■表示の具体例
2022年3月31日 8:03 AM #102090返信が含まれるトピック: 「投稿者と投稿日の表示順番」を、投稿記事一覧と投稿記事ページで統一したい
この設定はカスタマイザーにはないので、PHP でコードを書く必要があります。
この部分の表示順はsnow-monkey/app/setup/entry-meta.php
で確認できます。add_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_published', 10 ); 〜略〜 add_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 20 ); 〜略〜 add_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 30 );
となっていると思いますが、この10、20、30が表示の優先順位です。小さい方が最初に表示されます。今回の場合は公開日を投稿者より後ろにしたいということなので、一度
snow_monkey_entry_meta_items_author
をsnow_monkey_entry_meta_items
から外して、10未満の数字で再びフックさせればいけると思います。下記のコードを子テーマの
functions.php
か My Snow Monkey に貼り付けてみてください。remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 30 ); add_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 9 );
♥ 0いいねをした人: 居ません2021年12月8日 5:43 PM #93739返信が含まれるトピック: 投稿タイトル下の著者情報を、特定のカスタム投稿タイプのときだけ非表示にしたい
!!できました!ありがとうございます!
私の方のコードを書き換えた場合もこちらに転機しておきますね。
function custom_remove_entry_meta_items_author() { if ( is_singular( 'test' ) ) { remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 30 ); } } add_action( 'wp', 'custom_remove_entry_meta_items_author' );
更新時間(
snow_monkey_entry_meta_items_modified
)もフックがないと思いますが、同様の方法で非表示にできることを確認しました。2021年12月8日 2:39 PM #93706返信が含まれるトピック: 投稿タイトル下の著者情報を、特定のカスタム投稿タイプのときだけ非表示にしたい
2021年9月15日 9:35 AM #87197返信が含まれるトピック: アーカイブやサイドバーなどの日付に曜日を追加したい
また、ここは
add_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 20 );
というコードで日付を表示する処理を追加しているので、
snow_monkey_template_part_render
フィルターフックでの書き換えが難しいのであればremove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 20 );
でデフォルトの日付表示処理を外して、改めてオリジナルの日付表示処理を追加するほうがわかりやすいかもしれませんね。
—-
追記:すみません、↑は誤りです。↑は詳細ページのメタ情報をについてでした。今回は一覧部分の日付なので違いますね。
一覧部分の日付(というかメタ情報)は、
template-parts/loop/entry-summary/meta/meta.php
というファイルで表示されています。この部分は子テーマにtemplate-parts/loop/entry-summary/meta/meta-{投稿タイプ名}.php
というファイルがあるとそれが優先されて使われるようになっているので、子テーマにそのファイルをつくって独自に日付の表示処理を書いてしまったほうがわかりやすいかもしれませんね。2021年1月22日 5:38 PM #66080返信が含まれるトピック: 任意のタクソノミーブロックで表示される投稿の投稿者を削除したい
キタジマ様
一応確認ですが、投稿者の HTML を削除するのは「任意のタクソノミーブロック」だけで、カテゴリーアーカイブページの一覧部分からは消さないということであっていますでしょうか?
投稿者のHTMLはカテゴリーアーカイブページの一覧部分、投稿記事メタ情報などすべてから削除したいのです。
なお、カテゴリーアーカイブページの一覧部分については以前にキタジマ様からフックを教えていただきましたので削除出来ております。
また、投稿記事メタ情報部分については、本フォーラムの過去記事に該当するフックが紹介されておりましたのでこれも削除出来ております。
後は、固定ページに作成した任意のタクソノミーブロックにのみ投稿者が表示されていますので、これを削除したいということです。
一応現在のフックを掲載しますので、問題点などありましたらご指摘いただけますと助かります。
/** * 投稿ページのメタ情報の投稿者を削除 */ add_action( 'snow_monkey_entry_meta_items', function() { remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_author', 30 ); }, 9 ); /** * カテゴリーページの投稿者を削除 */ add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', function( $html, $name, $vars ) { // カテゴリーアーカイブ表示時、かつ記事一覧部分のとき. if ( is_category() && 'archive' === $vars['_context'] ) { return preg_replace( '| <ul> <li class="c-meta__item c-meta__item--author">.*?</li> </ul> |ms', '', $html ); } return $html; }, 10, 3 );
よろしくお願いいたします。
♥ 0いいねをした人: 居ません2020年12月10日 3:22 PM #62798返信が含まれるトピック: カスタム投稿タイプのタグ表示
@アクツさん
カスタムタクソノミーの場合は、タグ形式でもカテゴリー形式でも、コンテンツのメタ情報の部分に載ってしまうのが正しい挙動かと思います。
あ、記事タイトル下のところに、タグ形式のタクソノミーがでちゃうこともあるってことですよね(複数タクソノミーが割り当てられている場合はどちらかのタクソノミーが表示)。挙動的にはバグっちゃバグですね…^^; 投稿の場合はカテゴリーだけなので、カスタム投稿のときもカテゴリー形式のタクソノミーだけが表示されるのが正しい気がします。これはちょっと修正入れます。
一番良さそうな形か微妙ですが、
Snow Monkey がわざわざ
Helper::get_the_public_taxonomy( get_the_ID() );
で投稿に紐付いた全タクソノミー情報をとっているのは、Snow Monkey からはどのタクソノミーを表示すれば良いのか判断ができないからなので、カスタマイズで自分の好きなタクソノミーだけを表示したいときはget_the_terms()
で好きなタクソノミーを取得すれば良いです。書き直すとこんな感じでしょうか。カスタム投稿 news、カスタムタクソノミー news_category の場合
add_action( 'snow_monkey_prepend_contents', function() { // カスタム投稿のときにメタ情報のカテゴリー表示を無効化 if ( is_singular( 'news' ) ) { remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_categories', 40 ); } // カスタム投稿のときにメタ情報を表示 // カスタマイザーでビューテンプレートを「投稿」にしている場合は不要 if ( is_singular( 'news' ) ) { add_filter( 'snow_monkey_get_template_part_args_template-parts/content/entry/entry', function( $args ) { $args['vars']['_display_entry_header'] = true; $args['vars']['_post_type'] = 'post'; return $args; } ); } // カスタム投稿のときに任意のタクソノミーをメタ情報に表示 if ( is_singular( 'news' ) ) { add_action( 'snow_monkey_entry_meta_items', function() { $terms = get_the_terms( get_the_ID(), 'news_category' ); if ( ! is_array( $terms ) ) { return; } ?> <?php foreach ( $terms as $term ) : ?> <li class="c-meta__item c-meta__item--categories"> <span class="screen-reader-text"><?php echo esc_html( $terms->label ); ?></span> <i class="fas fa-folder" aria-hidden="true"></i> <a href="<?php echo esc_url( get_term_link( $term ) ); ?>"><?php echo esc_html( $term->name ); ?></a> </li> <?php endforeach; ?> <?php }, 40 ); } } );
♥ 2いいねをした人: 居ません2020年12月9日 7:43 PM #62707返信が含まれるトピック: カスタム投稿タイプのタグ表示
一番良さそうな形か微妙ですが、特定のタクソノミーを投稿のmeta情報から除外する方法もできたのでシェアしておきます(^^;
add_action( 'after_setup_theme', 'my_remove_action' ); function my_remove_action() { remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_categories' , 40); } function ignore_tag_tax_entry_meta_items() { $public_taxonomies = Helper::get_the_public_taxonomy( get_the_ID() ); $public_terms = []; //特定のタクソノミーを除外する if ( is_singular ('{カスタム投稿名}') ) { unset ( $public_taxonomies['{カスタムタクソノミーslug}'] ); } foreach ( $public_taxonomies as $public_taxonomy ) { $_terms = get_the_terms( get_the_ID(), $public_taxonomy->name ); if ( ! empty( $_terms ) && is_array( $_terms ) && ! is_wp_error( $_terms ) ) { $public_terms = $_terms; break; } } if ( ! $public_terms ) { return; } ?> <?php foreach ( $public_terms as $public_term ) : ?> <li class="c-meta__item c-meta__item--categories"> <span class="screen-reader-text"><?php echo esc_html( $public_taxonomy->label ); ?></span> <i class="fas fa-folder" aria-hidden="true"></i> <a href="<?php echo esc_url( get_term_link( $public_term ) ); ?>"><?php echo esc_html( $public_term->name ); ?></a> </li> <?php endforeach; ?> <?php } add_action( 'snow_monkey_entry_meta_items', 'ignore_tag_tax_entry_meta_items', 40 );
♥ 1いいねをした人: 居ません2020年10月30日 2:53 PM #59979返信が含まれるトピック: 投稿のヘッダー部分の、更新日を非表示にしたいです。
add_action( 'snow_monkey_entry_meta_items', function() { remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 20 ); remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 10 ); }, 9, 0 );
こちらのコードに差し替えたら、更新日が消えました!
ありがとうございました!
♥ 1いいねをした人: 居ません2020年10月30日 12:26 PM #59963返信が含まれるトピック: 投稿のヘッダー部分の、更新日を非表示にしたいです。
うーん…何故でしょう。
カスタマイザーの「SEO」→「構造化データ」によって並び順などが変更されますがそちらの設定はどのようになっているでしょうか?もし、設定されていないのであれば、if文は削除しても問題ないと思いますので、下記のように差し替えてください。add_action( 'snow_monkey_entry_meta_items', function() { remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 20 ); remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 10 ); }, 9, 0 );
—
また、よくあるケースを下記に書いておきます。
1. My Snow Monkey が有効化されているか確認してみてください。
2. ダウンロードされた My Snow Monkey の記述は削除せず、行を追加する形で記述してください。
3. サポートフォーラムやWordPress上のエディター仕様によっては、コードのコピー&ペーストを行う際に、‘(アポストロフィ)
になる場合があります。 その部分の記述を'(シングルクォーテーション)
に修正してみてください。記載されているコードはアポストロフィになっているので、3のケースが該当している可能性もあるかもしれません。一度、そちらも確認をお願いできますか?
♥ 0いいねをした人: 居ません2020年10月30日 12:06 PM #59961返信が含まれるトピック: 投稿のヘッダー部分の、更新日を非表示にしたいです。
add_action( 'snow_monkey_entry_meta_items', function() { if ( 'modified-date' === get_theme_mod( 'post-date' ) ) { // 更新日を削除 remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 20 ); // } elseif ( 'modified-date-high' === get_theme_mod( 'post-date' ) ) { // 更新日を削除 remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 10 ); } }, 9 // 優先度は9必須 );
上記のように
remove_action
の行から//
を消してみましたが、更新日は削除できていないです。どうしたらいいでしょうか・・・
♥ 0いいねをした人: 居ません2020年10月29日 3:57 PM #59900返信が含まれるトピック: 投稿のヘッダー部分の、更新日を非表示にしたいです。
投稿のヘッダー部分というのはタイトル下部のメタアイテムの事でしょうか?
My Snow Monkey でコードを書いてみてください。
各要素の消し方としては、下記のトピックも参考にしてください。
add_action( 'snow_monkey_entry_meta_items', function() { if ( 'modified-date' === get_theme_mod( 'post-date' ) ) { // 更新日を削除 // remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 20 ); // } elseif ( 'modified-date-high' === get_theme_mod( 'post-date' ) ) { // 更新日を削除 // remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_modified', 10 ); } }, 9 // 優先度は9必須 );
♥ 1いいねをした人: 居ません2020年9月25日 3:21 PM #57876返信が含まれるトピック: 投稿ページのタグの位置や著作権者情報のカスタマイズ
投稿ページのタグの表示がデフォルトで記事の最後になっていますが、カテゴリと同じく記事のトップにもってくるにはどうしたらよいでしょうか?
My Snow Monkey に下記のコードを追加してください。
add_action( 'snow_monkey_entry_meta_items', function() { if ( ! get_the_terms( get_the_ID(), 'post_tag' ) ) { return; } ?> <li class="c-meta__item c-meta__item--tags"> <?php \Framework\Helper::get_template_part( 'template-parts/content/entry-tags' ); ?> </li> <?php }, 41 );
これでカテゴリーの横に表示されるようになりますが、記事下のタグ表示を HTML 上から削除する簡単な方法がないので、こちらは CSS で消すのが良いかなと思います。
.c-entry__content .c-entry-tags { display: none; }
また、著作権者情報を非表示にしたいのですが、以下を追加cssに入れても非表示になりません。
.c-meta__item–author
を.c-meta__item–-author
に書き換えてください!(ハイフン2つです)♥ 0いいねをした人: 居ません2020年7月11日 10:33 AM #53904これでどうでしょう?
投稿タイプが
news
、タクソノミーがnews_category
の想定で書いています。add_action( 'wp_head', function() { // news 詳細ページのときだけ if ( is_singular( 'news' ) ) { // デフォルトのカテゴリー表示を削除 remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_categories', 40 ); // 新しいカテゴリー表示を追加 add_action( 'snow_monkey_entry_meta_items', function() { // タクソノミーを指定 $terms = get_the_terms( get_the_ID(), 'news_category' ); ?> <?php foreach ( $terms as $term ) : ?> <li class="c-meta__item c-meta__item--categories"> <span class="screen-reader-text"><?php echo esc_html( $term->label ); ?></span> <i class="fas fa-folder" aria-hidden="true"></i> <a href="<?php echo esc_url( get_term_link( $term ) ); ?>"><?php echo esc_html( $term->name ); ?></a> </li> <?php endforeach; ?> <?php }, 40 ); } } );
♥ 0いいねをした人: 居ません2019年6月6日 3:39 PM #17583返信が含まれるトピック: カスタム投稿タイプの表示について
お手間かけてすみません…。僕も CPT UI でテストしていたのでできないことはないはずなのですが、CPT UI に詳しいわけではないので、ちょっとどこに問題がありそうかまでわからず…。コードで書くほうが確実だし細かい調整もしやすいと思いますので、正しく動作しているのであればそれが良いと思います!
ただ、詳細ページについては、まだカテゴリーだけ表示されていません。↓
あ、これは前述したように Snow Monkey 側に問題がありますので、アップデートをお待ちいただければと思います。とりあえずパッチだけでも共有しましょうか。
snow-monkey/app/setup/entry-meta.php
のsnow_monkey_entry_meta_items_categories
を下記のように書き換えてみてください(本来 Snow Monkey のファイルを直接書き換えるのは NG ですが、次のアップデートで同じ変更が入るので直接変更されても問題ないかと思います)。function snow_monkey_entry_meta_items_categories() { $taxonomies = get_object_taxonomies( get_post_type(), 'object' ); foreach ( $taxonomies as $taxonomy ) { if ( ! $taxonomy->public ) { continue; } $terms = get_the_terms( get_the_ID(), $taxonomy->name ); break; } if ( empty( $terms ) || is_wp_error( is_wp_error( $terms ) ) || ! is_array( $terms ) ) { return; } ?> <?php foreach ( $terms as $term ) : ?> <li class="c-meta__item c-meta__item--categories"> <span class="screen-reader-text"><?php echo esc_html( $taxonomy->label ); ?></span> <i class="fas fa-folder" aria-hidden="true"></i> <a href="<?php echo esc_url( get_term_link( $term ) ); ?>"><?php echo esc_html( $term->name ); ?></a> </li> <?php endforeach; ?> <?php }
♥ 0いいねをした人: 居ません -
投稿者検索結果