-
投稿者検索結果
-
2025年1月27日 5:24 PM #143726
返信が含まれるトピック: 投稿アーカイブに投稿タグや任意の要素を追加表示したい
snow_monkey_template_part_render_<slug>
snow_monkey_pre_template_part_render_<slug>
のどちらかのフィルターフックを使用されてはどうでしょうか?/** * @param $html テンプレートパーツの出力HTML * @param $name テンプレートパーツの名前 * @param $vars テンプレートパーツのリクエスト配列 */ add_filter( 'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title', function( $html ) { $html = str_replace( '書き換え前の文字列', '書き換え後の文字列', $html ); return $html; }, 10 );
/** * @param $html テンプレートパーツの出力HTML * @param $name テンプレートパーツの名前 * @param $vars テンプレートパーツのリクエスト配列 */ add_filter( 'snow_monkey_pre_template_part_render_template-parts/loop/entry-summary/title/title', function( $html ) { return 'New HTML'; }, 10 );
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月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年10月4日 6:53 PM #142054返信が含まれるトピック: ”関連記事”というタイトルを変えたいです
過去のフォーラムにズバリな回答がありました。
my-snow-monkey.php
に追加してみてください。add_filter( 'snow_monkey_template_part_render', function( $html, $slug ) { if ( 'template-parts/content/related-posts' === $slug ) { return preg_replace( '|<span>.*?関連記事|ms', '<span>Related works', $html ); } return $html; }, 10, 2 );
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月27日 3:06 PM #141908返信が含まれるトピック: スノーモンキーのヘッダー部にショートコードを挿入したい
2024年9月26日 10:35 PM #141899返信が含まれるトピック: スノーモンキーのヘッダー部にショートコードを挿入したい
2024年8月24日 8:00 AM #141241返信が含まれるトピック: ドロワーナビゲーション(モバイル用)の検索窓の「検索・・・」の文字を英語「search」に変更したい
シンプルに文字列置換しているだけのコードなので、置換処理を追加すれば大丈夫だと思います。
// template-parts/nav/drawer の HTML を書き換え add_filter( 'snow_monkey_template_part_render_template-parts/nav/drawer', function( $html ) { $html = str_replace( "placeholder=\"検索 …\"", "placeholder=\"検索できます\"", $html ); $html = str_replace( "<button class=\"c-input-group__btn\">検索</button>", "<button class=\"c-input-group__btn\">Search</button>", $html ); return $html; } );
♥ 0いいねをした人: 居ません2024年8月21日 3:33 PM #141212返信が含まれるトピック: 記事タイトル下のスペースに統一注釈を入れたい
GONSY さんの書き込みに気づかずに僕もサンプルコードを書いていたので、ここで供養しておきます…(僕はページヘッダーのテンプレートパーツを置換しました)。
add_filter( 'snow_monkey_template_part_render_template-parts/content/entry/header/header', function( $html ) { return str_replace( '</header>', '<p class="notice_use_affiliate">※当サイトではアフィリエイト広告を利用しています</p></header>', $html ); } );
ページヘッダーの内側にもアクションフック用意しておいたほうが良いかも?と思いました。
2024年8月21日 1:04 PM #141210返信が含まれるトピック: 記事タイトル下のスペースに統一注釈を入れたい
ちょうど似たようなことをしていたので、参考になれば幸いです。
add_filter( 'snow_monkey_template_part_render_template-parts/content/entry-meta', function( $html ) { $html = str_replace( '</ul>', // 投稿メタ情報:<ul class="c-meta"></ul>のうしろ '</ul><p class="notice_use_affiliate">※当サイトではアフィリエイト広告を利用しています</p>', $html ); return $html; } );
2024年8月15日 7:58 AM #141146返信が含まれるトピック: モバイル用ヘッダーナビをスクロール時に隠さず固定したい
ヘッダーレイアウトは何に設定されていますか?
僕が書いたコードはヘッダーレイアウトが「中央ロゴ」の場合に適用されるものになります。フック名:snow_monkey_template_part_render_templates/layout/header/center
もし別のヘッダーレイアウトの場合はフック名が変わります。
1行:
snow_monkey_template_part_render_templates/layout/header/1row
2行:snow_monkey_template_part_render_templates/layout/header/2row
シンプル:snow_monkey_template_part_render_templates/layout/header/simple
左:snow_monkey_template_part_render_templates/layout/header/left
2024年8月13日 9:25 PM #141128返信が含まれるトピック: モバイル用ヘッダーナビをスクロール時に隠さず固定したい
ヘッダーコンテンツを使うとすれば、CSS で
position: sticky
にするのが簡単だと思います。.p-header-content.p-header-content--sm { position: sticky; top: 60px; /* ヘッダーの高さを指定 */ z-index: 2; }
ただ、
sticky
なので、コンテンツエリアに含まれているヘッダーコンテンツは、ページがスクロールされてフッターがでてくると、それに押し上げられる形でスクロールされてしまいます。どうしても常に表示させたいということであれば、ヘッダーコンテンツを使わずに、フックでヘッダーの中に HTML を追加する形のほうが良いかもです。/** * ヘッダーレイアウトが中央の場合 */ add_filter( 'snow_monkey_template_part_render_templates/layout/header/center', function( $html ) { $html = str_replace( '</header>', '<div>追加したい HTML</div></header>', $html ); return $html; } );
2024年7月9日 4:58 PM #140462返信が含まれるトピック: コンテンツエリア内のヘッダーを非表示にしたい
2023年8月22日 6:01 PM #130057返信が含まれるトピック: iPadでもPCと同じ表示にする方法
ご教授いただきましてありがとうございます。
私の知識が足りず、どうしても上手くいきません・・・
お忙しいところ質問を重ねまして申し訳ございません。
タブレットの場合ではなく、「スマホの場合か、ウィンドウサイズ680以上の場合 」で設定する場合なら、どのようなコードになりますか?add_filter(
‘snow_monkey_template_part_render_template-parts/common/head’,
function( $html ) {
// 既存のメタタグを削除
$html = preg_replace( ‘|<meta name=”viewport”[^>]+?>|s’, ”, $html );if ( スマホの場合か、ウィンドウサイズ680以下の場合に限り ) {
// メタタグを追加
$html .= ‘<meta name=”viewport” …省略…>’;
} else {
// それ以外
$html .= ‘<meta name=”viewport” …省略…>’;
}return $html;
}
);♥ 0いいねをした人: 居ません2023年8月21日 7:48 PM #130002返信が含まれるトピック: iPadでもPCと同じ表示にする方法
取り急ぎfunction add_meta_in_head() 〜でviewportの書き換えをしようとしてみましたが、
教えていただいたviewport 用メタタグを消すコードが干渉して、
<meta name=”viewport”〜
が消えてしまいます・・・メタタグを消す関数とメタタグを追加する関数を別々にせずに、同じ関数内で処理すれば大丈夫なのではないかと思います。
初歩的な質問で申し訳ございませんが、
・タブレットの場合だけ:<meta name=”viewport” content=”width=1280″>
・それ以外の場合は置き換えない
といったことは可能でしょうか?「タブレットの場合だけ」をどうやって判定するのかちょっと僕もわからないのですが、コード的には下記のような感じになると思います。
add_filter( 'snow_monkey_template_part_render_template-parts/common/head', function( $html ) { // 既存のメタタグを削除 $html = preg_replace( '|<meta name="viewport"[^>]+?>|s', '', $html ); if ( タブレットの場合 ) { // メタタグを追加 $html .= '<meta name="viewport" ...省略...>'; } else { // それ以外 $html .= '<meta name="viewport" ...省略...>'; } return $html; } );
-
投稿者検索結果