投稿のホームページにしている固定ページのタイトルを表示したいです。

0
いいねをした人: 居ません
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • 投稿者
    投稿
  • #17533
    倉田 ともか
    参加者
    12

    【お使いの Snow Monkey のバージョン】バージョン: 6.2.1
    【お使いのブラウザ】 Chrome

    ===

    お世話になっております。
    投稿のホームページにしている固定ページのタイトルを表示しようと
    MySnowMonkeyに以下のコードを入れました。

    add_filter(
    'snow_monkey_is_output_page_header_title',
    function( $return ) {
    if ( is_home() ) {
    return true;
    }
    return $return;
    }
    );

    表示はできたのですが、
    できれば他の固定ページと同じように
    【c-page-header】の部分ではなく、
    【c-entry__header】の部分に
    表示させたいのですが、その場合はどのようにしたらいいでしょうか。

    どうぞよろしくお願いいたします。

    0
    いいねをした人: 居ません
    #17542
    キタジマ タカシ
    参加者
    2252

    snow_monkey_is_output_page_header_title はページヘッダーにタイトルを表示するためのフックになるので、.c-entry__header を出したい場合は別の方法をとる必要があります。

    いくつか方法はあると思いますが、ブログトップのテンプレート templates/view/home の一部を置換する方法を共有します。下記のコードを My Snow Monkey に貼り付けるとどうでしょうか?

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'templates/view/home' !== $slug ) {
    			return $html;
    		}
    
    		global $post;
    
    		// 投稿のホームページにしている固定ページの情報を取得
    		// (これをしないと表示されるタイトルが一覧の1件目のタイトルになる)
    		ob_start();
    		$post = get_post( get_option( 'page_for_posts' ) );
    		setup_postdata( $post );
    
    		// 記事ヘッダー( <code>.c-entry__header</code> )の HTML を取得
    		Helper::get_template_part( 'template-parts/content/entry/header/header' );
    		$entry_header = ob_get_clean();
    
    		// 投稿データをリセット
    		wp_reset_postdata();
    
    		// 置換して記事ヘッダーを足す
    		return str_replace(
    			'<div class="c-entry__body">',
    			$entry_header . '<div class="c-entry__body">',
    			$html
    		);
    	},
    	10,
    	2
    );
    0
    いいねをした人: 居ません
    #17552
    倉田 ともか
    参加者
    12

    お忙しい中ありがとうございます!
    そのまま貼り付けると、
    「サイトに技術的な問題が発生しています。」と出てしまいます。。。
    どこか間違えたかなと、よーく見ていますが取り急ぎご報告です。

    0
    いいねをした人: 居ません
    #17565
    キタジマ タカシ
    参加者
    2252

    あ!すみません!こちらのミスでした。下記でもう一度試してみてください。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'templates/view/home' !== $slug ) {
    			return $html;
    		}
    
    		global $post;
    
    		// 投稿のホームページにしている固定ページの情報を取得
    		// (これをしないと表示されるタイトルが一覧の1件目のタイトルになる)
    		ob_start();
    		$post = get_post( get_option( 'page_for_posts' ) );
    		setup_postdata( $post );
    
    		// 記事ヘッダー( <code>.c-entry__header</code> )の HTML を取得
    		\Framework\Helper::get_template_part( 'template-parts/content/entry/header/header' );
    		$entry_header = ob_get_clean();
    
    		// 投稿データをリセット
    		wp_reset_postdata();
    
    		// 置換して記事ヘッダーを足す
    		return str_replace(
    			'<div class="c-entry__body">',
    			$entry_header . '<div class="c-entry__body">',
    			$html
    		);
    	},
    	10,
    	2
    );
    0
    いいねをした人: 居ません
    #17580
    キタジマ タカシ
    参加者
    2252

    こっちのほうがもっとシンプルでした!

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'templates/view/home' !== $slug ) {
    			return $html;
    		}
    
    		// 記事ヘッダー( <code>.c-entry__header</code> )の HTML を取得
    		\Framework\Helper::get_template_part( 'template-parts/archive/entry/header/header' );
    		$entry_header = ob_get_clean();
    
    		// 置換して記事ヘッダーを足す
    		return str_replace(
    			'<div class="c-entry__body">',
    			$entry_header . '<div class="c-entry__body">',
    			$html
    		);
    	},
    	10,
    	2
    );
    0
    いいねをした人: 居ません
    #17686
    倉田 ともか
    参加者
    12

    キタジマさん
    コードをお送り頂きありがとうございます!
    返信が大変遅くなり失礼しました!

    最後にお送りいただいたコードは、タイトルが出ましたが、
    サイドバーがメインコンテンツの下に入り込むようになりました。

    その前に送っていただいたコードは問題ございませんでした!

    どうぞよろしくお願いいたします。

    0
    いいねをした人: 居ません
    #17710
    キタジマ タカシ
    参加者
    2252

    あ、すみません、一部コード間違ってました…。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug ) {
    		if ( 'templates/view/home' !== $slug ) {
    			return $html;
    		}
    
    		// 記事ヘッダー( <code>.c-entry__header</code> )の HTML を取得
    		ob_start();
    		\Framework\Helper::get_template_part( 'template-parts/archive/entry/header/header' );
    		$entry_header = ob_get_clean();
    
    		// 置換して記事ヘッダーを足す
    		return str_replace(
    			'<div class="c-entry__body">',
    			$entry_header . '<div class="c-entry__body">',
    			$html
    		);
    	},
    	10,
    	2
    );

    とりあえず解決はしたということでトピック閉じます!

    0
    いいねをした人: 居ません
    #17711
    倉田 ともか
    参加者
    12

    キタジマさん
    修正のコードありがとうございます!
    問題ございませんでしたー!

    0
    いいねをした人: 居ません
    #18838
    キタジマ タカシ
    参加者
    2252

    こちら、Snow Monkey v7 からデフォルトでタイトル表示されるようになりました。おそらく v7 でこのコードを貼り付けていると二重にタイトルが表示されてしまうと思いますので、その場合はコードを削除してください。

    0
    いいねをした人: 居ません
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • トピック「投稿のホームページにしている固定ページのタイトルを表示したいです。」には新しい返信をつけることはできません。

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ

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