「snow_monkey_template_part_render」の検索結果

15件の結果を表示中 - 181 - 195件目 (全240件中)
  • 投稿者
    検索結果
  • #52411
    アバター画像キタジマ タカシ
    参加者
    2457

    snow_monkey_get_template_part_xxxx アクションフックはinc2734_view_controller_get_template_part_xxxx アクションフックをラップしたものなのですが、アクションフックのラップはフィルターフックのラップと違ってちょっと工夫が必要なようで、それが不足していたために何度もコールバックが追加されてしまうという感じになっていました。次のアップデートでコールバックは1つまでしか追加されないようにしようと思いますが、別なフックで対応したほうがいろいろわかりやすいかもしれません…。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/loop/entry-summary/meta/meta' === $slug ) {
    			return 'hoge';
    		}
    		return $html;
    	},
    	10,
    	2
    );
    0
    いいねをした人: 居ません
    #52374

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

    *****
    [ プライベートトピックのため非表示 ]
    0
    いいねをした人: 居ません
    #52112
    アバター画像キタジマ タカシ
    参加者
    2457

    Snow Monkey のテンプレート変数($args)の仕組みをコメントフォーム部分に追加したとしても、コアのフックをラップする形になるだけで特にラクにはならないのでは?という気がするのですがどうでしょう。ちょっと僕には最終的にどうなったら良さそうなのかが見えてないです…。

    template-parts/discussion/comments.php から、

    <?php comment_form(); ?>
    

    の部分を別のテンプレートに切りだすだけでも多少マシだったりしますかね? snow_monkey_template_part_render での書き換えやすさはマシになるかなと思ったのですが…。

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

    情報ありがとうございます! こんな感じでどうでしょう?

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name, $vars ) {
    		if ( 'news' !== get_post_type() ) {
    			return $html;
    		}
    
    		if ( 'template-parts/loop/entry-summary/title/title' === $slug ) {
    			$title_tag = $vars['_title_tag'];
    
    			return sprintf(
    				'<%1$s class="c-entry-summary__title">%2$s</%1$s>',
    				esc_html( $title_tag ),
    				esc_html( get_post_meta( get_the_ID(), 'title', true ) )
    			);
    		} elseif ( 'template-parts/loop/entry-summary/content/content' === $slug ) {
    			return sprintf(
    				'<div class="c-entry-summary__content">%1$s</div>',
    				esc_html( get_post_meta( get_the_ID(), 'content', true ) )
    			);
    		}
    
    		return $html;
    	},
    	10,
    	4
    );

    'news' !== get_post_type() の部分がカスタム投稿タイプかどうかの判定になります。news の部分をご自身のカスタム投稿タイプ名にあわせて変えてください。

    get_post_meta( get_the_ID(), 'title', true ) がタイトル部分のカスタムフィールドの出力になります。title の部分をご自身のカスタムフィールド名にあわせて変えてください。

    get_post_meta( get_the_ID(), 'content', true ) がグレー文字部分のカスタムフィールドの出力になります。content の部分をご自身のカスタムフィールド名にあわせて変えてください。

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

    ウィジェットに関してはサムネイルサイズを変更するためのフックを仕込んでいたのですが、確かに一覧や最近の投稿ブロックだと変更できないですね…。次のアップデートでフックを仕込もうと思います。

    お急ぎであれば下記のコードを My Snow Monkey プラグインに貼り付けることで、画像部分の HTML を書き換える形でサイズ変更できます。下記の例ではサイズを medium にしていますが、サムネイルサイズにしたい場合は thumbnail にしてみてください。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/loop/entry-summary/figure/figure' === $slug && 'post' === $name ) {
    			$thumbnail = get_the_post_thumbnail( get_the_ID(), 'medium' );
    			return preg_replace(
    				'|<img [^>]+>|',
    				$thumbnail,
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );
    0
    いいねをした人: 居ません
    #51643
    アバター画像キタジマ タカシ
    参加者
    2457

    下記のコードを My Snow Monkey プラグインに追加してみてください。記事下に表示されるタグ一覧をそのまま表示するようにしています。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'post' === $name ) {
    			ob_start();
    			\Framework\Helper::get_template_part( 'template-parts/content/entry-tags' );
    			return $html . ob_get_clean();
    		}
    		return $html;
    	},
    	10,
    	3
    );
    0
    いいねをした人: 居ません
    #51608
    アバター画像キタジマ タカシ
    参加者
    2457

    @Kmical Lights さん

    最後に読まれたテンプレート名を取得できるような関数とかあれば、何とかなるかもですが、そう言うのって Snow Monkey のテンプレート系の処理でもやれましたっけ?

    これはないですねー。今回の場合はドロワー内の検索ボックスは

    Helper::get_template_part( 'template-parts/common/search-form', 'drawer' );
    

    で読み込まれているので、snow_monkey_template_part_render でやるのであれば、下記のような感じで絞り込みできます。

    add_filter(
    'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/common/search-form' === $slug && 'drawer' === $name ) {
    			return str_replace( ... );
    		}
    		return $html;
    	},
    	10,
    	3
    );
    4
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2457

    下記のコードを My Snow Monkey に貼り付けてみてください。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/nav/drop' === $slug ) {
    			ob_start();
    			\Framework\Helper::get_template_part( 'template-parts/header/site-branding' );
    			$site_branding = ob_get_clean();
    			$search  = '|(<li class="menu-item)|m';
    			$replace = sprintf( '<li class="c-navbar__item">%1$s</li>', $site_branding );
    			return preg_replace( $search, $replace . '$1', $html, 1 );
    		}
    		return $html;
    	},
    	10,
    	2
    );

    これでドロップナビにロゴは表示されるようになると思うので、あとはお好みでロゴ周りの余白を CSS で調整してください。

    .p-drop-nav .c-site-branding {
      padding-top: 1em;
      padding-bottom: 1em;
    }
    1
    いいねをした人: 居ません
    #49682
    アバター画像キタジマ タカシ
    参加者
    2457

    こんな感じでどうでしょう?

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/nav/social' !== $slug ) {
    			return $html;
    		}
    
    		$html = str_replace(
    			'<nav class="p-social-nav" role="navigation">',
    			'<nav class="p-social-nav" role="navigation"><div class="my-social-nav-title"><b>公式SNS</b></div>',
    			$html
    		);
    
    		$html = str_replace(
    			'</nav>',
    			'<div class="my-social-nav-message">最新情報はSNSをチェック</div></nav>',
    			$html
    		);
    
    		return $html;
    	},
    	10,
    	2
    );
    3
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2457

    すみません、ちょっとうまく管理バーを表示させることができなかったので、あてずっぽうな感じになってしまうのですが、ひとまず下記のコードも追加してみてください。これで解決すると良いのですが…。

    add_action(
    	'wp_enqueue_scripts',
    	function() {
    		wp_enqueue_script(
    			Helper::get_main_script_handle() . '-fix-adminbar',
    			get_theme_file_uri( '/assets/js/fix-adminbar.min.js' ),
    			[],
    			filemtime( get_theme_file_path( '/assets/js/fix-adminbar.min.js' ) ),
    			true
    		);
    	}
    );

    メニュー表示項目をログイン・非ログインやグループ等で変えるのもアクションフックから操作できるのですか?

    Snow Monkey には、テンプレートの内容を書き換える snow_monkey_template_part_render フィルターフックと 、テンプレートの内容をテンプレートではなく functions.php 等でコードで定義できる snow_monkey_get_template_part_<テンプレートパーツ名> アクションフックがあります。これを使って書き換えることはできると思います。

    参考:

    上の返信、ソースコードが見やすくなってるのは、僕も投稿段階でビジュアルエディタで出来ますか?

    ビジュアルエディターはわからないのですが、コードを範囲指定して、テキストエディタのツールバーにある「code」というボタンをクリックするとできます!

    2. ヘッダーサブメニュー、PCだと右上にかっこいいのですが、スマホからだと右上には表示されません。スマホもPCも、左上に表示したいのです。

    あ、そうかスマホではでませんね…。この調整はこの調整で面倒かもなので、先に提示した方法で管理バーの挙動がちゃんとなるのであればそっちのほうが良さそうです。

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

    @Rocket Martue さん、コメントありがとうございます!

    @大西さん、この部分、現状簡単に追加する方法はなく、My Snow Monkey プラグインに PHP のコードを書くか、Rocket Martue さんが書いてくださったようにメニュー追加 + CSS でやるかのどちらかになります。僕も CSS のほうが簡単かなと思います(PHP だとエラーを気にしないといけないので)

    一応 My Snow Monkey でやるのはこんな感じ。この場合、ドロワーの一番下に画像リンクが追加されます。検索ボックスがあったりドロワーサブナビが設定されていてもその下に追加されることになり、細かい位置調整はできません。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/nav/drawer' !== $slug ) {
    			return $html;
    		}
    
    		ob_start();
    		?>
    		<ul class="c-dropdown__menu">
    			<li class="c-dropdown__item">
    				<a href="リンク先 URL"><img src="画像URL" alt=""></a>
    			</li>
    		</ul>
    		<?php
    		$img_link = ob_get_clean();
    
    		return str_replace( '</nav>', $img_link . '</nav>', $html );
    	},
    	10,
    	2
    );
    0
    いいねをした人: 居ません
    #47467
    アバター画像キタジマ タカシ
    参加者
    2457

    ちょっとだけ複雑になりますが、下記を試してみてください!

    1. My Snow Monkey プラグインに下記のコードを貼り付け

    /**
     * フッターサブナビゲーションの末尾にコピーライトを追加
     */
    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/nav/footer-sub' === $slug ) {
    			return preg_replace(
    				'|</ul>|',
    				'<li class="c-navbar__item">' . wp_kses_post( \Framework\Helper::get_copyright() ) . '</li></ul>',
    				$html
    			);
    		}
    		return $html;
    	},
    	10,
    	3
    );

    2. カスタマイザー → 追加 CSS に下記の CSS を追加

    .p-footer-sub-nav .c-container {
      text-align: center;
    }
    
    .p-footer-sub-nav .c-navbar {
      display: inline-flex;
    }
    
    .c-copyright {
      display: none;
    }
    0
    いいねをした人: 居ません
    #46587
    アバター画像キタジマ タカシ
    参加者
    2457

    下記のコードを My Snow Monkey プラグインあるいは子テーマの functions.php に貼り付けてみてください。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/content/entry/header/header' === $slug ) {
    			$html = str_replace( '<h1 ', '<h2 ', $html );
    			$html = str_replace( '</h1>', '</h2>', $html );
    			return $html;
    		}
    		return $html;
    	},
    	10,
    	2
    );

    ちなみにSEO的にはh1の方が良いのでしょうか?
    SEO的にH2にしたいとの要望でした。

    個人的には特に関係ないと思います…

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

    根本的な解決策ではありませんが、とりえあえずパッチを送ります! My Snow Monkey プラグインか子テーマの functions.php に貼り付けてみてもらえればと思います。

    /**
     * ブログトップページで記事一覧レイアウトが正しく取得できなかった場合に補正するパッチ
     */
    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/archive/entry/content/content' === $slug && 'post' === $name ) {
    			if( is_home() ) {
    				$entries_layout = get_theme_mod( 'post-entries-layout' );
    				$html = str_replace( 'c-entries--"', 'c-entries--' . $entries_layout . '"', $html );
    			}
    		}
    		return $html;
    	},
    	10,
    	3
    );
    0
    いいねをした人: 居ません
    #36645
    アバター画像キタジマ タカシ
    参加者
    2457

    カテゴリーアーカイブに固定ページも含むようにしたということですね。

    下記のコードでクエリに投稿タイプ page を追加しているので、Snow Monkey 側で設定される一覧のレイアウトが取得できなくなっています。

    $query->set('post_type', array( 'post', 'page' ));
    

    ※レイアウトは {投稿タイプ}-entries-layout という名前になりますが、投稿タイプが2つなので正しく取得できない

    なので、ちょっと正しく動くかわかりませんが、やるとしたらこんな感じでしょうか。レイアウトをシンプルにするコードを下記に差し替えてください。

    //カテゴリーページの場合、一覧レイアウトを「simple」に固定
    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'template-parts/archive/entry/content/content' === $slug ) {
    			if( is_category() ) {
    				$html = str_replace( 'c-entries--"', 'c-entries--simple"', $html );
    				$html = str_replace( 'c-entries--rich-media', 'c-entries--simple', $html );
    			}
    		}
    		return $html;
    	},
    	10,
    	2
    );
    0
    いいねをした人: 居ません
15件の結果を表示中 - 181 - 195件目 (全240件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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