「snow_monkey_template_part_render」の検索結果

15件の結果を表示中 - 1 - 15件目 (全238件中)
  • 投稿者
    検索結果
  • #142054
    GONSY
    参加者
    836

    過去のフォーラムにズバリな回答がありました。
    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
    );
    4
    いいねをした人:
    アバター画像キタジマ タカシ
    参加者
    2371

    調査してみたところ、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
    いいねをした人: 居ません
    #141908
    GONSY
    参加者
    836

    グローバルヘッダーでデザインが「シンプル」なら、これですかね。
    snow_monkey_template_part_render_templates/layout/header/simple
    トピックのはじめに提示されているコードは、そのまま活かせると思います。

    3
    いいねをした人:
    #141899
    GONSY
    参加者
    836

    snow_monkey_template_part_render_template-parts/content/entry/header/header
    は、投稿の詳細ページのタイトル部分(以下画像の青枠)になりますが、間違いないでしょうか?
     

     
    ご提示のコードで、ショートコードが正しく認識できていれば挿入・表示は可能だと思います。

    ヘッダー部にショートコードを挿入したく、

    ヘッダー部の場所がいまいちわかりませんでした。
    サイトのスクリーンショットもしくはワイヤーなど、挿入したい箇所を具体的にご提示されたほうが、適切な回答が得られると思います。

    3
    いいねをした人:
    アバター画像キタジマ タカシ
    参加者
    2371

    シンプルに文字列置換しているだけのコードなので、置換処理を追加すれば大丈夫だと思います。

    // template-parts/nav/drawer の HTML を書き換え
    add_filter(
    	'snow_monkey_template_part_render_template-parts/nav/drawer',
    	function( $html ) {
    		$html = str_replace(
    			"placeholder=\"検索 &hellip;\"",
    			"placeholder=\"検索できます\"",
    			$html
    		);
    
    		$html = str_replace(
    			"<button class=\"c-input-group__btn\">検索</button>",
    			"<button class=\"c-input-group__btn\">Search</button>",
    			$html
    		);
    
    		return $html;
    	}
    );
    0
    いいねをした人: 居ません
    #141212
    アバター画像キタジマ タカシ
    参加者
    2371

    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
    		);
    	}
    );

    ページヘッダーの内側にもアクションフック用意しておいたほうが良いかも?と思いました。

    2
    いいねをした人:
    #141210
    GONSY
    参加者
    836

    ちょうど似たようなことをしていたので、参考になれば幸いです。
     

    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;
    	}
    );
    3
    いいねをした人:
    #141146
    アバター画像キタジマ タカシ
    参加者
    2371

    ヘッダーレイアウトは何に設定されていますか?
    僕が書いたコードはヘッダーレイアウトが「中央ロゴ」の場合に適用されるものになります。フック名: 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

    1
    いいねをした人:
    #141128
    アバター画像キタジマ タカシ
    参加者
    2371

    ヘッダーコンテンツを使うとすれば、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;
    	}
    );
    1
    いいねをした人:
    #140462
    アバター画像キタジマ タカシ
    参加者
    2371
    snow_monkey_template_part_render_template-parts/content\entry\header\header
    

    snow_monkey_template_part_render_template-parts/content/entry/header/header
    

    でどうですかね?

    1
    いいねをした人:
    #130057

    返信が含まれるトピック: iPadでもPCと同じ表示にする方法

    read
    参加者
    13

    ご教授いただきましてありがとうございます。

    私の知識が足りず、どうしても上手くいきません・・・
    お忙しいところ質問を重ねまして申し訳ございません。
    タブレットの場合ではなく、「スマホの場合か、ウィンドウサイズ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
    いいねをした人: 居ません
    #130002

    返信が含まれるトピック: iPadでもPCと同じ表示にする方法

    アバター画像キタジマ タカシ
    参加者
    2371

    取り急ぎ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;
    	}
    );
    1
    いいねをした人:
    #129856

    返信が含まれるトピック: iPadでもPCと同じ表示にする方法

    アバター画像キタジマ タカシ
    参加者
    2371

    viewport を書き換えるという発想がなく、この部分には特に専用のフックなどは用意されていないため、やるなら HTML を書き換えるフックで書き換える形になるかなと思います。

    とりあえず下記で既存の viewport 用メタタグは消えるかと思います。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/common/head',
    	function( $html ) {
    		$html = preg_replace( '|<meta name="viewport"[^>]+?>|s', '', $html );
    		return $html;
    	}
    );

    あとは js でやっても良いし、ユーザーエージェントで判定させるなら PHP でもできると思うので、PHP で追加しても良いのかなと思います。

    1
    いいねをした人:
    GONSY
    参加者
    836

    一応検証済みですが、ほかに影響が出ないとも言えません。
    まずはローカル環境などで試してみてください。
     

    
    /**
     * ページタイトルを任意の名前に変更
     * <h1 class="c-entry__title">ここ</h1>
     */
    add_filter(
    	'snow_monkey_template_part_render_template-parts/archive/entry/header/header',
    	function ($html) {
    		$category_titles = array(
    			'カテゴリAのスラッグ' => 'Works',
    			'カテゴリBのスラッグ' => 'Profile'
    		);
    		$category_slug = get_query_var('category_name');
    		if (array_key_exists($category_slug, $category_titles)) {
    			$html = preg_replace(
    				'|(<h1 class="c-entry__title">.*?</h1>)|ms',
    				'<h1 class="c-entry__title">' . $category_titles[$category_slug] . '</h1>',
    				$html
    			);
    		}
    		return $html;
    	}
    );
    
    /**
     * メタタイトルを任意の名前に変更
     * <title>ここ - サイト名</title>
     */
    add_filter(
    	'single_cat_title',
    	function ($title) {
    		$category_titles = array(
    			'カテゴリAのスラッグ' => 'Works',
    			'カテゴリBスラッグ' => 'Profile'
    		);
    		$category_slug = get_query_var('category_name');
    		if (array_key_exists($category_slug, $category_titles)) {
    			$title = $category_titles[$category_slug];
    		}
    		return $title;
    	}
    );
    0
    いいねをした人: 居ません
    #126219

    返信が含まれるトピック: *****

    *****
    [ プライベートトピックのため非表示 ]
    1
    いいねをした人:
15件の結果を表示中 - 1 - 15件目 (全238件中)

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。