「entry-summary $html replace」の検索結果

15件の結果を表示中 - 16 - 30件目 (全51件中)
  • 投稿者
    検索結果
  • GONSY
    参加者
    734

    shiさん

    くわしくありがとうございます。
    概ね以下のコードをmy-snow-monkey.phpに追加していただければ、ご希望の表示はできると思います。(もっと良いコードの書き方はあると思いますので参考までに(^^;)

    使用しているget_field()の部分は、設定しているフィールド名に変更してください。
    また不要なものは消してください。

    add_filter(
    'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html ) {
    	if ( 'event' === get_post_type() ):
    	ob_start();
    	?>
    	<?php
    
    		// カスタムフィールド:開催日 → event_day
    		// ACF デイトピッカー(返り値:Ymd)
    		$eDate =  get_post_meta( get_the_ID(), 'event_day', true );
    		$date = date_create( $eDate );
    
    		// 曜日用
    		$week = array("日", "月", "火", "水", "木", "金", "土");
    
    		// 開催日の表示は 「月.日」に変更
    		$eventDay = date_format($date,'n.j');
    
    		$today = wp_date('Ymd');
    
    		// カスタムフィールド:開始時刻 → event_starttime
    		// ACF Time Picker(返り値:G:i)
    		$startTime = get_field( 'event_starttime' );
    
    		// カスタムフィールド:開始時刻 → event_endtime
    		// ACF Time Picker(返り値:G:i)
    		$endTime = get_field( 'event_endtime' );
    
    		// 開催日以降の判定
    		// 開催日よりも今日の日付が大きい場合
    		$preriod = strtotime($eDate) < strtotime($today);
    
    		// カスタムフィールド:概要欄 → event_txt
    		// ACF テキストエリア(改行:なにもしない)
    		$eventSummary = get_field( 'event_txt' )
    	?>
    
    	<div class="event_day_post">
    		<p class="event_date"><?php echo esc_attr( $eventDay) ; ?><span class="week"><?php echo esc_attr( $week[(int)date_format($date,'w')] ) ?></span></p>
    		<p class="event_time"><?php echo esc_attr( $startTime ) ; ?> - <?php echo esc_attr( $endTime ) ; ?></p>
    	</div>
    
    	<div class="event_txt">
    		<p><?php echo nl2br( esc_attr( $eventSummary ) ); ?></p>
    	</div>
    
    	<?php if( $preriod ): ?> // 開催日以降の条件分岐
    		<div class="event_finish">終了しました</div>
    	<?php else: ?>
    		<div class="event_open">これから開催です</div>
    	<?php endif; ?>
    
    	<?php
    	$event = ob_get_clean();
    	
    	return str_replace(
    	'</header>',
    	'</header>'.$event , // 投稿タイトルの下に追加
    	
    	$html
    	);
    	endif;
    	return $html;
    	}
    );

    結果 ↓

    4
    いいねをした人:
    林淳一
    参加者

    【お使いの Snow Monkey のバージョン】15.7.0
    【お使いの Snow Monkey Blocks のバージョン】12.3.1
    【お使いの Snow Monkey Editor のバージョン】6.0.1
    【お使いのブラウザ】Firefox 92.0
    【当該サイトのURL】http://gsr-jp.com/seminer-event/

    ### 実現したいこと

    投稿日に曜日を追加したい。

    ### 発生している問題

     

    ### 試したこと

    My Snow Monkeyに以下のコードを追加しましたが、エラーになりました。

    add_filter(
    'snow_monkey_template_part_render',
    function( $html, $slug ) {
    if ( 'template-parts/loop/entry-summary/meta/meta' === $slug ) {
    return preg_replace(
    '<time datetime="<?php the_time( 'c' ); ?>"><!--?php the_time( get_option( 'date_format' ) ); ?--></time>',
    '<time datetime="<?php the_time( 'c(D)' ); ?>"><!--?php the_time( get_option( 'date_format' ) ); ?--></time>',
    $html
    );
    }
    return $html;
    },
    10,
    2
    );
    まーちゅう
    参加者
    328

    名前と得意分野で、それぞれコードを分けて以下のような感じでどうでしょうか?

    
    /**
     * カスタム投稿タイプのアーカイブページにて、投稿一覧(リッチメディア型)のタイトルの前に、'名前:'を表示
     *
     * @param string $html はコンテンツの中身.
     */
    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function ( $html ) {
    		if ( 'banso-mate' !== get_post_type() ) {
    			return $html;
    		}
    		$html = str_replace( '<h3>', '<h3>名前:', $html );
    		return $html;
    	}
    );
    
    /**
     * カスタム投稿タイプのアーカイブページにて、投稿一覧(リッチメディア型)に、タグ・ディスクリプションを表示
     *
     * @param string $html はコンテンツの中身.
     */
    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/content/content',
    	function ( $html ) {
    		if ( 'banso-mate' !== get_post_type() ) {
    			return $html;
    		}
    		$postid     = get_the_ID();
    		$taxonomy   = 'banso_tags';
    		$post_terms = get_the_terms( $postid, $taxonomy );
    		if ( ! empty( $post_terms ) ) {
    			$tags = '<div>';
    			$tags .= '<h3>得意分野:</h3>';
    			$tags .= '<div>';
    			$tags .= '<ul class="smb-taxonomy-terms__list">';
    			foreach ( $post_terms as $post_term ) {
    				$term_name = $post_term->name;
    				$tags .= '<li class="smb-taxonomy-terms__item">' . $term_name . '</li>';
    			}
    			$tags .= '</div>';
    			$tags .= '</div>';
    		}
    
    		$meta_description = get_post_meta( get_the_ID(), 'wp-seo-meta-description', true );
    		$html = $tags . '<div class="c-entry-summary__content">' .$meta_description. '</div>';
    		return $html;
    	}
    );
    4
    いいねをした人:
    #80090
    まーちゅう
    参加者
    328

    ありがとうございます。
    get_post_type() に変更で、うまくいきました。

    /**
     * 各投稿一覧で taxonomy のラベルをタイトルの上に表示
     *
     * @param string $html はコンテンツの中身.
     */
    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function ( $html ) {
    		$taxonomy  = 'category';
    		$post_type = get_post_type();
    		switch ( $post_type ) {
    			case 'post':
    				$taxonomy = 'category';
    				break;
    			case 'news':
    				$taxonomy = 'news_category';
    				break;
    			case 'shop-info':
    				$taxonomy = 'shop_genre';
    				break;
    			case 'interview':
    				$taxonomy = '';
    				break;
    		}
    		$tags       = '';
    		$postid     = get_the_ID();
    		$post_terms = get_the_terms( $postid, $taxonomy );
    		if ( ! empty( $post_terms ) ) {
    			$tags = '<ul class="' .$taxonomy. '-tags taxonomy-tags">';
    			foreach ( $post_terms as $post_term ) {
    				$term_name = $post_term->name;
    				$slug      = $post_term->slug;
    				$term_id   = $post_term->term_id;
    				$tags .= '<li class="' .$taxonomy. '-' .$term_id.' ' .$slug.'">' . $term_name . '</li>';
    			}
    			$tags .= '</ul>';
    		}
    		$html       = str_replace( '<h3', $tags . '<h3', $html );
    		return $html;
    	}
    );
    4
    いいねをした人:
    まーちゅう
    参加者

    【お使いの Snow Monkey のバージョン】14.3.5
    【お使いの Snow Monkey Blocks のバージョン】11.4.1
    【お使いの Snow Monkey Editor のバージョン】5.0.6
    【お使いのブラウザ】chrome
    【当該サイトのURL】 https://demo.waiwai-do.com/news/do_action-japan-2020/

    ### 実現したいこと
    カスタム投稿タイプの関連記事で、投稿タイプの判別をしたい。

    投稿一覧のカテゴリーのラベルの表示位置を変えるために以下のコードを追加しています。

    
    /**
     * 各投稿一覧で taxonomy のラベルをタイトルの上に表示
     *
     * @param string $html はコンテンツの中身.
     * @param string $name は post type.
     */
    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/title/title',
    	function ( $html, $name ) {
    		$taxonomy  = 'category';
    		$post_type = $name;
    		switch ( $name ) {
    			case 'post':
    				$taxonomy = 'category';
    				break;
    			case 'news':
    				$taxonomy = 'news_category';
    				break;
    			case 'shop-info':
    				$taxonomy = 'shop_genre';
    				break;
    			case 'interview':
    				$taxonomy = '';
    				break;
    		}
    		if ( $post_type === $name ) {
    			$tags       = '';
    			$postid     = get_the_ID();
    			$post_terms = get_the_terms( $postid, $taxonomy );
    			if ( ! empty( $post_terms ) ) {
    				$tags = '<ul class="' .$taxonomy. '-tags taxonomy-tags">';
    				foreach ( $post_terms as $post_term ) {
    					$term_name = $post_term->name;
    					$slug      = $post_term->slug;
    					$term_id   = $post_term->term_id;
    					$tags .= '<li class="' .$taxonomy. '-' .$term_id.' ' .$slug.'">' . $term_name . '</li>';
    				}
    				$tags .= '</ul>';
    			}
    			$html       = str_replace( '<h3', $tags . '<h3', $html );
    		}
    		return $html;
    	},
    	10,
    	2
    );

    投稿一覧では、name が投稿タイプになっているのですが、カスタム投稿タイプのシングルページで、関連記事の部分では、投稿タイプにかかわらず、name が post になっているため、投稿タイプの判別ができません。
    関連記事でもラベルの位置を変更したいのですが、何かいい方法はありますか?

    投稿一覧
    <!-- Start : [slug] => template-parts/loop/entry-summary/title/title [name] => news [template-slug] => template-parts/loop/entry-summary/title/title -->

    関連記事
    <!-- Start : [slug] => template-parts/loop/entry-summary/title/title [name] => post [template-slug] => template-parts/loop/entry-summary/title/title -->

    GONSY
    参加者
    734

    ひとまず簡単な方法として、画像を表示しているattachment.phpをiframeをポップアップさせる方法です。

    Easy Fancyboxプラグインを使用している場合になりますが、左メニュー【設定】内の【メディア】を開くと、下部にEasy Fancyboxの各種設定項目がありますので、iFrameにもチェックを入れ【変更を保存】を押してください。

    次に前回ご提示したコード

    <a target="_blank" rel="noreferrer noopener"<a class="fancybox-iframe"に(以下のように)変更します。

    my-snow-monkey.phpに記述

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html ) {
    		if ( is_search() ) {
    			$html = str_replace(
    				'<a',
    				'<a class="fancybox-iframe"',
    			$html
    			);
    		}
    		return $html;
    	}
    );

    これで、検索結果ページの投稿をクリックすると、新しいタブで開くのではなく、ポップアップ(Fancybox)で開くようになると思います。
    一度お試しください。

    3
    いいねをした人:
    井田時矢
    参加者

    【お使いの Snow Monkey のバージョン】
    バージョン: 14.1.0
    【お使いの Snow Monkey Blocks のバージョン】
    バージョン 11.4.1
    【お使いの Snow Monkey Editor のバージョン】
    バージョン 5.0.6
    【お使いのブラウザ】
    Chrome
    【当該サイトのURL】

    ### 実現したいこと
    サイト内検索の検索フォームの画像で検索されたものをクリックした時、ポップアップ形式にしたいのですがどうすればいいでしょうか?Easy FancyBoxプラグインによるポップアップ形式と同じような動作にしたいです。

    ### 発生している問題
    ポップアップ表示にならない
    ### 試したこと
    my-snow-monkey/my-snow-monkey.phpに下記のように追記しました。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html ) {
    		if ( is_search() ) { // 検索結果ページのみ
    			$html = str_replace(
    	'<a',
    	'<a class="fancybox image"',
    			$html
    			);
    		}
    		return $html;
    	}
    );
    井田時矢
    参加者
    12

    お世話になります。
    以下のように、追記したら別タブ表示になりました。
    ありがとうございます。

    
    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html ) {
    		if ( is_search() ) { // 検索結果ページのみ
    // 			$html = str_replace(
    // 	'<a',
    // 	'<a class="fancybox image"',
    			$html = str_replace(
    				'<a',
    				'<a target="_blank" rel="noreferrer noopener"',
    			$html
    			);
    		}
    		return $html;
    	}
    );
    1
    いいねをした人:
    GONSY
    参加者
    734

    お試しいただけるようで良かったです。
    snow_monkey_template_part_renderは、

    こちらや

    こちら

    で解説されているように、テンプレート内容を書き換えることのできるフィルターフックです。

    snow_monkey_template_part_render_以降のtemplate-parts/loop/entry-summaryは、下に記載したとおり、テーマ内の特定のテンプレートファイル(今回はentry-summary.php)を指しています。

    テーマ「Snow Monkey」

    snow-monkey
    └template-parts
     └loop
      └entry-summary.php

    このentry-summary.php<a href="<?php the_permalink(); ?>">に、target="_blank" rel="noreferrer noopener"を追加する方法になります。

    また、ご質問の見出し

    サイト内検索の検索フォームの画像で検索されたものをクリックした時別タブで表示

    とのことでしたので、検索結果ページ(is_search())にのみ作用するようにします。
    例えば、この検索結果ページ

    以下のコードをmy-snow-monkey.phpに追記することで、お望みの動作になるとは思います。
    ただ、提示しておいて言うのも無責任ですが、適切なコードでないかもしれませんので、ご理解いただいたうえでお試しください。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary',
    	function( $html ) {
    		if ( is_search() ) { // 検索結果ページのみ
    			$html = str_replace(
    				'<a',
    				'<a target="_blank" rel="noreferrer noopener"',
    			$html
    			);
    		}
    		return $html;
    	}
    );

    なお、ほかのページにある画像の拡大は、ソースコードを拝見したところ、Easy FancyBoxプラグインによるポップアップ形式になっているようなので、同じ動作をさせる場合には、上記コードの該当箇所を

    $html = str_replace(
    	'<a',
    	'<a class="fancybox image"',

    としてあげると同じ表現になるような気がします。
    ※こちらは未検証です。

    以上となりますが、まずは一度お試しください。

    3
    いいねをした人:
    #78882
    キタジマ タカシ
    参加者
    1888

    あ、そうか失礼しました。追加したコードで強制的に更新日が追加されるからですね。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
    	function( $html ) {
    		// 更新日と公開日が同じ、あるいは更新日より公開日が新しい場合は更新日を追加しない
    		if ( get_the_time( 'Ymd' ) >= get_the_modified_time( 'Ymd' ) ) {
    			return $html;
    		}
    
    		ob_start();
    		?>
    		<li class="c-meta__item c-meta__item--modified">
    			<i class="fas fa-sync-alt" aria-hidden="true"></i>
    				<?php
    				$date_format = get_option( 'date_format' );
    				the_modified_time( $date_format );
    				?>
    			</li>
    		<?php
    		$modified = ob_get_clean();
    		return preg_replace(
    			'|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms',
    			'$1' . $modified,
    			$html
    		);
    	}
    );
    1
    いいねをした人:
    #78800
    のぶやん
    閲覧者
    22

    キタジマさん、

    該当部分を教えていただいたコードに変えて、My Snow Monkeyに追記して無事出来ました、ありがとうございました。

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
    	function( $html ) {
    		ob_start();
    		?>
    		<li class="c-meta__item c-meta__item--modified">
    			<i class="fas fa-sync-alt" aria-hidden="true"></i>
    				<?php
    				$date_format = get_option( 'date_format' );
    				the_modified_time( $date_format );
    				?>
    			</li>
    		<?php
    		$modified = ob_get_clean();
    		return preg_replace(
    			'|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms',
    			'$1' . $modified,
    			$html
    		);
    	}
    );

    投稿日と更新日を切り分けて表示させるルールがないので、記事更新をしていないくても強制的に更新日が表示されるので、その点理解して使用してみます。

    0
    いいねをした人: 居ません
    #75670
    Sayoko Miura
    参加者
    6

    functions.phpで、以下のリンクを外す記述をしているだけですね。

    add_filter(
    	'snow_monkey_template_part_render',
    	function( $html, $slug, $name ) {
    		if ( 'template-parts/loop/entry-summary' === $slug && 'tournament_all' === $name ) {
    			$html = preg_replace( '|<a>]+?>|ms', '', $html );
    			$html = str_replace( '|</a>', '', $html );
    			return $html;
    		}
    		return $html;
    	},
    	10,
    	3
    );
    0
    いいねをした人: 居ません
    キタジマ タカシ
    参加者
    1888

    改めて確認してみました。当初の

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
    	function( $html ) {
    		ob_start();
    		?>
    		<li class="c-meta__item c-meta__item--comments__number"><span>
    			<?php
    			echo get_comments_number();
    			?>
    		</span>コメント</li>
    		<?php
    		$modified = ob_get_clean();
    		return preg_replace(
    				'|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms',
    				'$1' . $modified,
    				$html
    		);
    	}
    );

    で正しいと思います。

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

    ループの中のテンプレートは name が投稿タイプ名になっているので、

    template-parts/loop/entry-summary/entry-summary-news.php
    template-parts/loop/entry-summary/content/content-news.php

    みたいなファイルを追加することで、その投稿タイプ用のファイルとして使われます! もしテンプレートを追加するほどではない軽微な変更を特定の投稿タイプのときに入れたいということであれば、

    add_filter(
    	'snow_monkey_template_part_render_template-parts/loop/entry-summary/entry-summary',
    	function( $html, $name ) {
    		if ( 'news' === $name ) {
    			return str_replace( ... );
    		}
    		return $html;
    	},
    	10,
    	2
    );

    みたいな感じでもカスタマイズできるかなと思います。

    0
    いいねをした人: 居ません
    Nmr
    参加者

    【お使いの Snow Monkey のバージョン】 14.0.2
    【お使いの Snow Monkey Blocks のバージョン】 11.0.3
    【お使いの Snow Monkey Editor のバージョン】 未使用
    【お使いのブラウザ】 Chrome
    【当該サイトのURL】 開発中です。

    ### 実現したいこと
    記事一覧にコメント数を表示したい。
    コメントの表示はできたのですが、余分なコードが消せません。

    ### 発生している問題
    フォーラム内で似た事案を見つけ、それをベースに書き換えました。
    なんとかコメント数の表示はできたのですが、余分なコードが消せません。

    消すと重大なエラーが出てしまい、どこを触ればよいのか分からない状況です。
    PHPの記法の問題で恐縮なのですが、My snow monkeyへの書き方を教えていただけないでしょうか?

    ### 試したこと

    ■コメントを表示するために記述したコードは下記です。

    add_filter(
        'snow_monkey_template_part_render_template-parts/loop/entry-summary/meta/meta',
        function( $html ) {
            ob_start();
            ?>
            <li class="c-meta__item c-meta__item--comments__number"><span>
                <?php
                echo get_comments_number();
                ?>
            </span>コメント</li>
    
            <?php
            $modified = ob_get_clean();
            return preg_replace(
                '|(<li class="c-meta__item c-meta__item--published">.*?</li>)|ms',
                '$1' . $modified,
                $html
            );
        }
    );

    ■解決したいこと
    12行目の
    <?php
    $modified = ob_get_clean();

    から下は必要ないと思うのですが、消す方法が分かりません……。

    ■参考にしたコードは下記です。
    記事一覧ページに更新日を追加したいです。

    よろしくお願いいたします。

15件の結果を表示中 - 16 - 30件目 (全51件中)

ドキュメント

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

ドキュメント

フォーラム

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

サポートフォーラム

よくあるご質問

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

よくあるご質問

お問い合わせ

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

お問い合わせ