-
投稿者検索結果
-
2025年2月18日 8:38 AM #144121
返信が含まれるトピック: ロゴのhtmlの書き換え方について
子テーマで普通にテンプレートパーツを上書きすることももちろん可能ですが、今後のメンテナンスを考えると My Snow Monkey プラグインか、子テーマを使っているなら子テーマの
functions.php
にコードを書くのが良いです。下記でどうでしょうか?
add_filter( 'snow_monkey_get_template_part_args_template-parts/header/site-branding', function( $args ) { $args['vars']['_title_tag'] = 'p'; return $args; } );
2025年2月9日 7:13 PM #143991返信が含まれるトピック: 最新の投稿一覧ブロックで先頭固定が除外されない
表現が乏しかったです
右カラムの設定で、公開日を表示にすれば、公開日で、更新日を表示にすれば更新日で表示されるとおもってました> そのコードをここに共有してもらえますか?
/** * 最新用語を更新日でソートする add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // 並び順を変更 $args['vars']['_posts_query'] = new \WP_Query( array_merge( $args['vars']['_posts_query']->query, array( 'orderby' => 'modified', 'order' => 'DESC' ) ) ); } return $args; } ); */
♥ 0いいねをした人: 居ません2025年1月5日 5:23 PM #143430返信が含まれるトピック: 投稿一覧でのカテゴリー表示順を親→子の順番にしたい
過去のフォーラムに似た質問があり試したところ解決したのでトピックを閉じます。
失礼しました。add_filter( 'snow_monkey_get_template_part_args', function( $args ) { // 記事一覧カテゴリー以外のテンプレートの場合は無視 if ( 'template-parts/loop/entry-summary/term/term' !== $args['slug'] ) { return $args; } // 投稿以外の場合は無視 if ( 'post' !== $args['name'] ) { return $args; } $new_terms = array(); $terms = get_the_terms( get_the_ID(), 'category' ); foreach ( $terms as $term ) { $term_ids = get_ancestors( $term->term_id, 'category', 'taxonomy' ); krsort( $term_ids ); // チェックしたカテゴリーと先祖のカテゴリー情報をカテゴリーラベルとして使用 foreach ( $term_ids as $term_id ) { $new_terms[ $term_id ] = get_term( $term_id, 'category' ); } $new_terms[ $term->term_id ] = $term; } $args['vars']['_terms'] = $new_terms; return $args; } );
2024年12月20日 4:24 PM #143290返信が含まれるトピック: 投稿の詳細ページだけアイキャッチ画像を変更したい
あ、条件分岐が抜けていました…。
is_single()
で条件分岐させてください。add_filter( 'snow_monkey_get_template_part_args_template-parts/common/page-header', function( $args ) { if ( ! is_single() ) { return $args; } $default_image_url = get_template_directory_uri() . '/wp-content/uploads/2024/12/XXXX.jpeg'; $args['vars']['_image'] = '<img src="' . esc_url( $default_image_url ) . '" alt="' . esc_attr( get_the_title() ) . '">'; return $args; } );
画像が表示されないのは上記コードの中で指定している画像の URL が正しくないからなので、実際に表示させたい画像の URL になるように、コードを修正してみてください。
2024年12月20日 12:30 PM #143279返信が含まれるトピック: 投稿の詳細ページだけアイキャッチ画像を変更したい
投稿一覧はそのままで詳細ページでの表示だけ、ということは、あくまで「その記事の装飾としての画像を変えたい」ということだと思ったので、そのやり方を考えてみました。
※
post_thumbnail_html
で詳細ページだけ表示を変える場合、OGP 画像や関連記事などに使用される画像も変わってしまう可能性があるのでそれ以外を使ったやり方にしてみました。「アイキャッチ画像の表示」の選択肢によって対応が変わるので、一応それぞれのパターンについて考えてみました。
### 「アイキャッチ画像の位置」が「ページヘッダー」のとき
// テンプレートパーツに画像の URL を差し替えるオプションがあるのでそれを使う。 add_filter( 'snow_monkey_get_template_part_args_template-parts/common/page-header', function( $args ) { $default_image_url = get_template_directory_uri() . '/wp-content/uploads/2024/12/XXXX.jpeg'; $args['vars']['_image'] = '<img src="' . esc_url( $default_image_url ) . '" alt="' . esc_attr( get_the_title() ) . '">'; return $args; } );
### 「アイキャッチ画像の位置」が「コンテンツの上」のとき
// オプションは無いのでテンプレートパーツ自体を書き換える。 add_filter( 'snow_monkey_template_part_render_template-parts/content/eyecatch', function( $html ) { if ( ! $html ) { return $html; } $default_image_url = get_template_directory_uri() . '/wp-content/uploads/2024/12/XXXX.jpeg'; $default_image = ob_start(); ?> <div class="c-eyecatch"> <img src="<?php echo esc_url( $default_image_url ); ?>" alt="<?php echo esc_attr( get_the_title() ); ?>"> </div> <?php return ob_get_clean(); } );
2024年11月28日 6:46 PM #142974返信が含まれるトピック: 投稿一覧のタイトル(c-entry-summary__title)をh3に変更したい
2024年11月25日 9:39 PM #142925返信が含まれるトピック: トップのh1タグが反映されない。
先ほど共有したトピックの内容を引用します。
——-
実際には
h1
の中の画像にはalt
が設定されているので、h1
の中が空、というわけではないのですが、ツールによって画像を読み取る場合と読み取らない場合があるようです。本質的な問題はそのツールで読み取られないから、というより、HTML 的に正しいかどうか、だと思いますので、HTML の仕様、あるいは Google が推奨するドキュメントなどがあれば Snow Monkey を改修したほうが良いのかなと思いました。(軽くググった感じでは明確な記述は見つけきれませんでした)
ちなみに、下記のコードを My Snow Monkey プラグイン、あるいは子テーマの
functions.php
に追加することで、フロントページでもdiv
にすることができます。add_filter( 'snow_monkey_get_template_part_args_template-parts/header/site-branding', function( $args ) { $args['vars']['_title_tag'] = 'div'; return $args; }, 100 );
—-
これを踏まえた上で、
SEOに詳しい方に、h1タグが表示されてないので、こちらを表示させるようにとアドバイスを受けました。
僕は SEO には詳しくないので HTML 的に正しいかどうかで判断するようにしていますが、その方が推奨するやり方があるのであれば、まず上記のフックでデフォルトの
h1
をdiv
にして、その方が推奨する位置にh1
が入るようにカスタマイズされると良いのかなと思います。♥ 0いいねをした人: 居ません2024年11月14日 3:34 AM #142706返信が含まれるトピック: WooCommerce ショッピングページ(商品リストページ)が表示されなくなった!
因みに修正した、 My Snow Monkeyのphpは以下になります。
<?php /** * Plugin name: My Snow Monkey * Description: このプラグインに、あなたの Snow Monkey 用カスタマイズコードを書いてください。 * Version: 0.2.5 * Update URI: https://snow-monkey.2inc.org * * @package my-snow-monkey * @author inc2734 * @license GPL-2.0+ */ /** * Snow Monkey bbPress Support でリダイレクトさせないようにする。 */ // add_filter( 'snow_monkey_bbpress_support_prevent_admin_access', '__return_false' ); /** * Snow Monkey 以外のテーマを利用している場合は有効化してもカスタマイズが反映されないようにする */ $theme = wp_get_theme( get_template() ); if ( 'snow-monkey' !== $theme->template && 'snow-monkey/resources' !== $theme->template ) { return; } /** * Directory url of this plugin * * @var string */ define( 'MY_SNOW_MONKEY_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) ); /** * Directory path of this plugin * * @var string */ define( 'MY_SNOW_MONKEY_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) ); /** * Display message in console.log if this plugin is enabled. */ add_action( 'wp_footer', function () { if ( is_user_logged_in() ) : ?> <script>console.log( 'My Snow Monkey plugin is active' );</script> <?php endif; } ); /** * WooCommerce が生成した各ページのページヘッダー画像としてデフォルトページヘッダー画像を使用する */ add_filter( 'snow_monkey_pre_page_header_image_url', function( $url ) { if ( class_exists( '\woocommerce' ) && ( is_woocommerce() || is_cart() || is_checkout() || is_account_page() ) ) { if ( is_singular() && has_post_thumbnail() ) { return wp_get_attachment_image_url( get_post_thumbnail_id(), 'xlarge' ); } else { $shop_page_id = wc_get_page_id( 'shop' ); if ( has_post_thumbnail( $shop_page_id ) ) { return wp_get_attachment_image_url( get_post_thumbnail_id( $shop_page_id ), 'xlarge' ); } } return get_theme_mod( 'default-page-header-image' ); } return $url; }, 11 ); /** * WooCommerce が生成した各ページにページヘッダーを表示する */ add_filter( 'snow_monkey_is_output_page_header', function( $return ) { if ( class_exists( '\woocommerce' ) && ( is_woocommerce() || is_cart() || is_checkout() || is_account_page() ) ) { return true; } return $return; }, 11 ); /** * パララックスエフェクト用の CSS, JS を読み込み * * @return void */ add_action( 'wp_enqueue_scripts', function() { if ( ! wp_script_is( 'snow-monkey-blocks/background-parallax', 'registered' ) ) { wp_enqueue_script( 'snow-monkey-blocks/background-parallax', SNOW_MONKEY_BLOCKS_DIR_URL . '/dist/js/background-parallax.js', [], filemtime( SNOW_MONKEY_BLOCKS_DIR_PATH . '/dist/js/background-parallax.js' ), true ); } } ); /** * ページヘッダーにパララックスエフェクトを反映 * * @param string $html * @param string $slug * @return string */ add_filter( 'snow_monkey_template_part_render', function( $html, $slug ) { if ( 'template-parts/common/page-header' !== $slug ) { return $html; } $html = str_replace( 'class="c-page-header"', 'class="c-page-header js-bg-parallax"', $html ); $html = str_replace( 'class="c-page-header__bgimage"', 'class="c-page-header__bgimage js-bg-parallax__bgimage"', $html ); $html = str_replace( 'class="c-container"', 'class="c-container js-bg-parallax__content"', $html ); return $html; }, 10, 2 ); /** * ショーケースウィジェットにパララックスエフェクトを反映 * * @param string $content * @param array $args * @return string */ add_filter( 'inc2734_wp_awesome_widgets_render_widget', function( $content, $args ) { if ( false === strpos( $args['widget_id'], 'inc2734_wp_awesome_widgets_showcase' ) ) { return $content; } $content = str_replace( 'wpaw-showcase ', 'wpaw-showcase js-bg-parallax ', $content ); $content = str_replace( 'wpaw-showcase__bgimage', 'wpaw-showcase__bgimage js-bg-parallax__bgimage', $content ); $content = str_replace( 'wpaw-showcase__inner', 'c-container js-bg-parallax__content wpaw-showcase__inner', $content ); return $content; }, 10, 2 ); /** * @param array active_post_types * @return array */ add_filter( 'snow_monkey_member_post_active_post_types', function( $active_post_types ) { return [ 'post', 'page' ]; // 制限機能を付与したい投稿タイプを指定 } ); /** * 再利用可能ブロックのショートカット作成 */ add_action( 'admin_menu', 'add_custom_menu' ); function add_custom_menu(){ add_menu_page( '再利用ブロック', '再利用ブロック', 'manage_options', 'edit.php?post_type=wp_block', '', 'dashicons-portfolio', 9 ); } /** * WordPressのサイドバーなどに表示されるウィジェットのタイトルを「h2」タグから他のタグ(例えば「div」タグ)へ変更する方法 */ add_filter( 'dynamic_sidebar_params', function( $params ) { $params[0]['before_title'] = str_replace( '<h2 ', '<div ', $params[0]['before_title'] ); $params[0]['after_title'] = str_replace( '/h2>', '/div>', $params[0]['after_title'] ); return $params; } ); /** * WooCommerceの商品ページに「SNS」シェアボタンを追加 */ add_filter( 'snow_monkey_get_template_part_args_templates/view/woocommerce-single-product', function( $args ) { $args['vars']['_display_top_share_buttons'] = true; // 上部に出したいとき $args['vars']['_display_bottom_share_buttons'] = true; // 下部に出したいとき return $args; } );
♥ 0いいねをした人: 居ません2024年11月3日 3:05 PM #142517返信が含まれるトピック: ホームの固定ページにある最新の投稿一覧を、更新順にして更新日を表示したい
ごめんなさい 再度ひらいちゃいました
テーマ、プラグインは最新 今までのやりとりをふまえ以下の様になってますやりたいこと
・上の一覧では新規に追加されたものが追加順に表示されたい
現在は新着時期にpickupタグをつけて、スライダーとあわせて一覧している・下の一覧ではZINEというカテゴリー(人間による加筆)があった記事だけを
更新順(書き換えるから)表示したい
しかしカテゴリー変更やタグの編集まで更新扱いになってしまって意図と違うリストになる現在下記のコードがはいってます。
更新日、公開日がわからなくなるのでアイコンつけたいです改善可能でしょうか?
/** * 最新用語を更新日でソートする */ add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // 並び順を変更 $args['vars']['_posts_query'] = new \WP_Query( array_merge( $args['vars']['_posts_query']->query, array( 'orderby' => 'modified', 'order' => 'DESC' ) ) ); } return $args; } );
♥ 0いいねをした人: 居ません2024年11月2日 3:32 PM #142510返信が含まれるトピック: H1タグが空欄になる場合の解決方法
HTML Outline という Chrome 拡張だと、h1 に画像の alt が表示されました。
実際には h1 の中の画像には alt が設定されているので、h1 の中が空、というわけではないのですが、ツールによって画像を読み取る場合と読み取らない場合があるようです。
本質的な問題はそのツールで読み取られないから、というより、HTML 的に正しいかどうか、だと思いますので、HTML の仕様、あるいは Google が推奨するドキュメントなどがあれば Snow Monkey を改修したほうが良いのかなと思いました。(軽くググった感じでは明確な記述は見つけきれませんでした)
ちなみに、下記のコードを My Snow Monkey プラグイン、あるいは子テーマの
functions.php
に追加することで、フロントページでもdiv
にすることができます。add_filter( 'snow_monkey_get_template_part_args_template-parts/header/site-branding', function( $args ) { $args['vars']['_title_tag'] = 'div'; return $args; }, 100 );
2024年10月11日 10:48 AM #142151返信が含まれるトピック: カスタム投稿タイプの投稿個別ページにタグを表示させる方法
もしその認識であっている場合は、My Snow Monkey プラグインか子テーマの
functions.php
に下記のコードを追加することでタグを表示できると思います(そのカスタム投稿タイプにタグが設定されている場合のみ)。add_filter( 'snow_monkey_get_template_part_args_templates/view/content', function( $args ) { // 投稿タイプが news のとき if ( 'news' === $args['name'] ) { // 記事下のタグ一覧の表示を有効化 $args['vars']['_display_tags'] = true; } return $args; } );
♥ 0いいねをした人: 居ません2024年9月28日 4:14 PM #141931返信が含まれるトピック: 既存のパンくずの機能をアーカイブなどのループの中で各投稿に利用する方法
調査してみたところ、2つの要因がありました。
1つ目は、Snow Monkey のパンくずはページのクエリを参照してリストを生成しているということです。例えば、詳細ページ用のリストはページが
is_single()
のときに生成され、アーカイブページ用のリストはページがis_archive()
のときに生成されます。ループの中だとしてもページのクエリはis_arhive()
がtrue
になるので、アーカイブページ用のリストが出力されてしまう、ということになります。2つ目は、Snow Monkey のパンくずは一度生成したリストをキャッシュするようになっているので、↑の対策をしたとしてもキャッシュされたパンくずを出力してしまうために同じリストが繰り返し表示されてしまうということです。
上記2つに対して対策してみたコードが下記になります。
/** * ループのメタ情報部分にパンくずを追加する。 */ add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta', function( $html ) { query_posts( array( 'p' => get_the_ID() ) ); // これが重要。クエリを記事用に再生成する。 ob_start(); \Framework\Helper::get_template_part( 'template-parts/common/breadcrumbs' ); $breadcrumbs = ob_get_clean(); wp_reset_query(); // クエリをもとに戻す return $html . $breadcrumbs; } ); /** * パンくずを都度生成するようにする。 */ add_filter( 'snow_monkey_get_template_part_args_template-parts/common/breadcrumbs', function( $args ) { $breadcrumbs = new \Inc2734\WP_Breadcrumbs\Bootstrap(); $breadcrumbs_items = $breadcrumbs->get(); // $breadcrumbs_items = apply_filters( 'snow_monkey_breadcrumbs', $breadcrumbs_items ); // 必要ならコメントアウト $args['vars']['_items'] = $breadcrumbs_items; return $args; } );
なんとなくあんまりきれいな処理ではない気がするので、気になるようなら自作したほうが良いかもしれません…。
♥ 0いいねをした人: 居ません2024年9月18日 3:32 PM #141732返信が含まれるトピック: ホームの固定ページにある最新の投稿一覧を、更新順にして更新日を表示したい
ちょっとコード自体を書き換えてみました。これに差し替えるとどうですかね?
add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // 並び順を変更 $args['vars']['_posts_query'] = new \WP_Query( array_merge( $args['vars']['_posts_query']->query, array( 'orderby' => 'modified', 'order' => 'DESC' ) ) ); } return $args; } );
♥ 0いいねをした人: 居ません2024年9月18日 8:44 AM #141725返信が含まれるトピック: ホームの固定ページにある最新の投稿一覧を、更新順にして更新日を表示したい
複数サイトに実装しているので、検証がおぼつかないのですが
プラグインを2回アップデートしたら表示される形になったように思います更新されてる感じなんです
でも先頭固定よりうえ?人権(生まれながら持つ権利)
身体(自分と相手を大切に)が先頭固定 ただし除外してる
これおかしいのですよね「性差別」が先頭固定になるべきなので
なにか並び順がおかしい コードはこれをつかってます‘
/** * 最新用語を更新日でソートする */ add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // 並び順を変更 $args['vars']['_posts_query']->set( 'orderby', 'modified' ); $args['vars']['_posts_query']->set( 'order', 'DESC' ); // セットしたクエリーをもとに WP_Query をリセット $args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars ); } return $args; } );
‘
仕様として
– 先頭固定が最初にならぶ
– 先頭固定も更新順になる
– その他の記事が更新順になる
– 新規記事は公開日=更新日という扱いになるという仕様で意識あってますでしょうか
♥ 0いいねをした人: 居ません2024年9月12日 7:09 PM #141636返信が含まれるトピック: ホームの固定ページにある最新の投稿一覧を、更新順にして更新日を表示したい
↑のコードを応用するとどうですかね?
add_filter( 'snow_monkey_get_template_part_args_template-parts/common/entries/entries', function( $args ) { // 最近の投稿ブロックのとき if ( 'snow-monkey-blocks/recent-posts' === $args['vars']['_context'] ) { // 並び順を変更 $args['vars']['_posts_query']->set( 'orderby', 'modified' ); $args['vars']['_posts_query']->set( 'order', 'DESC' ); // セットしたクエリーをもとに WP_Query をリセット $args['vars']['_posts_query']->query( $args['vars']['_posts_query']->query_vars ); } return $args; } );
♥ 0いいねをした人: 居ません -
投稿者検索結果