[ 解決済 ] 投稿リストの表示タイプ:テキスト1カラムで表示した際、カスタムフィールドの値も表示させたい

VWSとは フォーラム VK Blocks・Pro [ 解決済 ] 投稿リストの表示タイプ:テキスト1カラムで表示した際、カスタムフィールドの値も表示させたい

[ 解決済 ] 投稿リストの表示タイプ:テキスト1カラムで表示した際、カスタムフィールドの値も表示させたい

  • このトピックには4件の返信、2人の参加者があり、最後にwebLinxにより3年前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #58696

    webLinx
    参加者

    ■ WordPress のバージョン
    5.8.2

    ■ テーマ・プラグインは全て最新版で確認してください。
    確認しました。

    ■ テーマの種類
    Lightning Pro

    ■ テーマのバージョン
    8.12.9

    ■ スキンの種類
    Fort II

    ■ スキンのバージョン
    9.1.1

    ■ 関連しそうなプラグインを一つづつ停止して症状が改善するか確認してください。
    確認しました。

    ■ 期待する動作
    投稿リストの表示タイプ:テキスト1カラムで表示した際、追加したカスタムフィールドの値も表示させたい

    ■ 自分で試した事
    Lightning Proから子テーマ:lightning-pro-childを作成し、以下のディレクトリ構造を作成しました。

    lightning-pro-child
    ├ inc
    │ └ local/
    │   └ vk-components/
    │     └ package/
    │       └ class-vk-component-posts.php
    └ style.css

    class-vk-component-posts.php内の関数:get_view_type_textを修正することで、
    追加したカスタムフィールドの内容を出力できるか確認した

    ■ 症状が発生するブラウザ
    Chrome

    ■ 実際の症状
    class-vk-component-posts.php内の関数:get_view_type_textを修正しても、ブラウザで表示された内容に変化はありませんでした。

    現在、class-vk-component-posts.phpの808行目を以下のように修正していますが、変化はありません。

    修正前
    $html .= ‘<span class=”postListText_date published”>’;
    修正後
    $html .= ‘<span class=”postListText_date published aaaaaaaaa”>’;


    該当URL : https://*********

    ※該当URLはフォーラムライセンスが有効のユーザーにのみ表示されます

    #58698

    おそらく

    1. 外観 > カスタマイズ > Lightning アーカイブ設定 で標準レイアウトを選択
    2. 子テーマに template-parts/post/ ディレクトリを作って loop-投稿タイプ名.php を配置
    3. loop-投稿タイプ名.php に一件分のコードを書く

    のが一番希望に添うものが作りやすいのではないかと思います。

    テキスト1カラム以外のレイアウトなら以下の方がおすすめです。

    投稿一覧のカスタマイズ – カスタムフィールドの値を表示する

    #58705

    webLinx
    参加者

    >>おそらく
    >>
    >>1. 外観 > カスタマイズ > Lightning アーカイブ設定 で標準レイアウトを選択
    >>2. 子テーマに template-parts/post/ ディレクトリを作って loop-投稿タイプ名.php を配置
    >>3. loop-投稿タイプ名.php に一件分のコードを書く
    >>
    >>のが一番希望に添うものが作りやすいのではないかと思います。
    >>
    >>テキスト1カラム以外のレイアウトなら以下の方がおすすめです。
    誤っている場合は申し訳ございません。。。
    ご回答いただきました内容については、アーカイブページのカスタマイズになるかと存じます。

    今回はVK Blocks・Proのスレッドに質問させていただきましたので、質問の内容としては、
    【VK Blocks・Proの投稿リストの表示タイプ:テキスト1カラムで表示した際、カスタムフィールドの値も表示させたい】となり、カスタマイズ箇所が別のファイルではないかと思うのですが、いかがでしょうか。

    #58713

    ブロックの方は下記をfunctions.phpなどに書けば改変可能ですので試してみてください。

    ※内容・改変条件は適当に変更ください

    add_filter(
    	'vk_post_view',
    	function( $html, $post, $options ) {
    
    		// テキストレイアウト以外の場合は何もしないで戻す
    		if ( 'postListText' !== $options['layout'] ){
    			return $html;
    		} 
    
    		$html  = '';
    		$html .= VK_Component_Posts::get_view_first_div( $post, $options );
    		if ( $options['display_date'] ) {
    			$html .= '<span class="postListText_date published">';
    			$html .= esc_html( get_the_date( '', $post->ID ) );
    			$html .= '</span>';
    		}
    
    		if ( $options['display_image_overlay_term'] ) {
    			$html     .= '<span class="postListText_singleTermLabel">';
    			$term_args = array(
    				'class' => 'postListText_singleTermLabel_inner',
    				'link'  => true,
    			);
    			if ( method_exists( 'Vk_term_color', 'get_single_term_with_color' ) ) {
    				$html .= Vk_term_color::get_single_term_with_color( $post, $term_args );
    			}
    			$html .= '</span>';
    		}
    
    		$html .= '<p class="postListText_title"><a href="' . get_the_permalink( $post->ID ) . '">';
    		$html .= get_the_title( $post->ID );
    		$html .= '</a>';
    
    		if ( $options['display_new'] ) {
    			$today = date_i18n( 'U' );
    			$entry = get_the_time( 'U' );
    			$kiji  = gmdate( 'U', ( $today - $entry ) ) / 86400;
    			if ( $options['new_date'] > $kiji ) {
    				$html .= '<span class="vk_post_title_new">' . $options['new_text'] . '</span>';
    			}
    		}
    
    		$html .= '</p>';
    
    		$html .= '</div>';
    		return $html;
    	},
    	10,
    	3
    );
    #58738

    webLinx
    参加者

    functions.phpに修正を行うことで、実現したいカスタマイズを実装することができました。
    ありがとうございました!!

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。