「snow_monkey_template_part_render」の検索結果

15件の結果を表示中 - 16 - 30件目 (全245件中)
  • 投稿者
    検索結果
  • #141128
    アバター画像キタジマ タカシ
    参加者
    2536

    ヘッダーコンテンツを使うとすれば、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
    アバター画像キタジマ タカシ
    参加者
    2536
    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
    参加者
    16

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

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

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

    取り急ぎ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と同じ表示にする方法

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

    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
    参加者
    846

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

    
    /**
     * ページタイトルを任意の名前に変更
     * <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
    いいねをした人:
    GONSY
    参加者
    846

    My Snow Monkey(my-snow-monkey.php)もしくは子テーマの functions.php に以下のコードを追加すると、該当箇所(のテンプレート)は読まれなくなると思います。
     

    add_filter( 
    	'snow_monkey_template_part_render_template-parts/common/overlay-search-box', 
    	'__return_false'
    );

     
    ほかに不具合が発生するか未検証ですが、一度お試しください。

    2
    いいねをした人:
    GONSY
    参加者
    846

    「新しく投稿されたものに関してはカテゴリラベルのところにNewマークがつくようにする」は以下のコードを加えました。

    すでに「NEW」が表示されているということですね。
    私がやるとすれば、サムネイル上の「NEW」以外のカテゴリー名はCSS( display: none )で消します。
    ご提示のコードの場合、該当の要素に my-new がついていると思いますので、そこだけ強制的に表示させます。

    .c-entries .c-entry-summary__term {
    	display: none;
    }
    
    .c-entries span[class*="my-new"] {
        display: block!important;
    }

     
     
    カテゴリーの表示は、位置をCSSで移動させるのがちょっと嫌なので、フィルターフック snow_monkey_template_part_render_template-parts/loop/entry-summary</header> の後に replace を使ってリンクなしのカテゴリーを表示するようにしてあげれば、それっぽい感じになると思います。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html ) {
    		$category = get_the_category();
    		$cat_name = $category[0]->cat_name;
    		$html = str_replace( 
    			'</header>',
    			'</header><p class="cat_name_origin"><span>'. $cat_name. '</span></p>',
    			$html
    			);
    			return $html;
    	}
    );

    もっとスマートな方法もあるかと思いますが、1つの例として参考にしていただければと思います。

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

    どこまでがうまくいっていて、どこからがうまくいっていないのかがわからないので、適当なところで var_dump() して問題を把握すると良いかもしれませんね。

    add_filter(
    	// template-parts/loop/entry-summary を書き換える
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html, $name, $vars ) {
    		// 「シンプル」のときだけ実行
    		var_dump( $vars['_entries_layout'] );
    		if ( 'simple' === $vars['_entries_layout'] ) {
    			// カスタムフィールドを取得して、それをもとに加工した HTML をバッファリングする
    			// ACF や実際に保存されているデータの構造がわからないので実際の状況にあわせて書き直してください。
    			$course_types = get_field( 'course_type' );
    			var_dump( $course_types );
    			ob_start();
    			foreach ( $course_types as $course_type ) {
    				echo '<span>' . $course_type . '</span>';
    			}
    			$course_type_html = ob_get_clean();
    
    			var_dump( esc_html( $html ) );
    			return str_replace(
    				'</section>',
    				$course_type_html . '</section>',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );
    1
    いいねをした人:
    akosan
    参加者
    33

    ありがとうございます。その後いろいろ調べながらやってみたのですが実現できず、とん挫しています。

    エラーメッセージが出たので

    }
    return $html;

    を追加してエラーは出なくなったのですが表示はできずでした。

    Advanced Custom Fieldsの関数get_fieldを使えばいいのでは?と思い変更したのですがそれではダメでした。※get_post_metaでも出来るようでしたが

    https://lucy.ne.jp/bazubu/advanced-custom-fields-36452.html

     

    add_filter(
    	// template-parts/loop/entry-summary を書き換える
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html, $name, $vars ) {
    		// 「シンプル」のときだけ実行
    		if ( 'simple' === $vars['_entries_layout'] ) {
    			// カスタムフィールドを取得して、それをもとに加工した HTML をバッファリングする
    			// ACF や実際に保存されているデータの構造がわからないので実際の状況にあわせて書き直してください。
    			$course_types = get_field( 'course_type' );
    			ob_start();
    			foreach ( $course_types as $course_type ) {
    				echo '<span>' . $course_type . '</span>';
    			}
    			$course_type_html = ob_get_clean();
    
    			return str_replace(
    				'</section>',
    				$course_type_html . '</section>',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );
    0
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2536

    \Framework\Helper::get_template_part( 'template-parts/loop/entry-summary/term/term' ... ); はターム(カテゴリー等)の一覧を取得するものなので、「ここをカスタムフィールドを取得して HTML を生成・加工する」というコードに書き換えればよいのかなと思います。

    僕は ACF に詳しくないのと、実際に course_type にどのような値が入っているかがわからないのであくまでサンプルですが、だいたい下記のような感じになるのかなと思います。

    add_filter(
    	// template-parts/loop/entry-summary を書き換える
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html, $name, $vars ) {
    		// 「シンプル」のときだけ実行
    		if ( 'simple' === $vars['_entries_layout'] ) {
    			// カスタムフィールドを取得して、それをもとに加工した HTML をバッファリングする
    			// ACF や実際に保存されているデータの構造がわからないので実際の状況にあわせて書き直してください。
    			$course_types = get_post_meta( get_the_ID(), 'course_type' );
    			ob_start();
    			foreach ( $course_types as $course_type ) {
    				echo '<span>' . $course_type . '</span>';
    			}
    			$course_type_html = ob_get_clean();
    
    			return str_replace(
    				'</section>',
    				$course_type_html . '</section>',
    				$html
    			);
    	},
    	10,
    	3
    );
    1
    いいねをした人:
    sususu
    閲覧者
    10

    お世話になっております。

    お忙しい中、検証いただき誠にありがとうございます。

    
    
    add_filter(
    'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    function ( $html, $name ) {
    if ( is_page( 47 ) ) {
    
    // カスタムフィールドで設定したフィールド名を代入
    $acf_image = get_field('property_image');
    $acf_type = get_field('property_type');
    $acf_location = get_field('property_location');
    $acf_price = get_field('property_price');
    $acf_land_area = get_field('property_land_area');
    
    // テンプレートのh3タグの後に<div class='property-info'>を追加
    $acf_property_info = '</h3>
    <div class="property-info">' .
    '<div class="property-img"><img src="' . esc_url($acf_image) . '" alt="Image"></div>' .
    '<div class="property-body">' .
    '<div class="property-tag">' .
    '<p>' . esc_html($acf_type) . '</p>' .
    '</div>' .
    '<div class="property-content">'.
    '<p class="location">' . esc_html($acf_location) . '</p>' .
    '<p class="price">' . esc_html($acf_price) . '</p>' .
    '<p class="land_area">' . esc_html($acf_land_area) . '</p>' .
    '</div>' .
    '</div>' .
    '</div>';
    
    // テンプレートパーツのh3タグの後ろにdivタグを追加する
    $html = str_replace(
    '</h3>',
    $acf_property_info,
    $html
    );
    }
    return $html;
    },
    10,
    2
    );
    
    

    このように記述しました。

    アイキャッチとタイトルが表示されてしまいますが、こちらはdisplay: none;で消してしまえばいけそうです。

     

    同じページに投稿ページの最新の投稿もブロックで使っていたので

     

    こちらもimageが出てきてしまっていますが、ページ指定で非表示にすればいけそうです。

     

    また試してみて報告させていただきます。

    アドバイスいただき、ありがとうございます。

    0
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2536

    ちょっと実際にどういう値が入ってきているのか確認したいので、コードを下記のように改変して、固定ページでどのような値が表示されるか教えてください!

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function ( $html, $name ) {
    		var_dump( $name );
    		var_dump( get_post_type() );
    		if ( 'propertys' === $name ) {
    		// 〜前後省略〜
    	},
    	10,
    	2
    );
    1
    いいねをした人:
    アバター画像キタジマ タカシ
    参加者
    2536

    template-parts/loop/entry-summary/title/title はアーカイブページの記事一覧部分でも最近の投稿ブロックの記事一覧部分でも共通して使用されているので、フックはどちらの場合も通っていると思います。

    気になるのは if( is_post_type_archive('propertys') ){ のところで、この条件だと「propertys というカスタム投稿アーカイブページのとき」だけしか処理が実行されなくなってしまいます。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function ( $html, $name ) {
    		if ( 'propertys' === $name ) {
    		// 〜前後省略〜
    	},
    	10,
    	2
    );

    のように書き換えるとどうでしょうか?

    1
    いいねをした人:
15件の結果を表示中 - 16 - 30件目 (全245件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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