WordPress Litning 付属するVK ExUnitのVK_PR Blocksテキストもボーダーで内包したいのでカスタム。
カスタム箇所は、
plugins/vk-all-in-expansion-unit/plugins/other_widget/widget-pr-blocks.php
188行目付近
public function widget( $args, $instance ) { $instance = self::default_options($instance); echo $args['before_widget']; echo PHP_EOL.'<article class="veu_prBlocks prBlocks row">'.PHP_EOL; $widget_block_count = ( isset( $instance['block_count'] )) ? intval( $instance['block_count'] ) : 3; $col_class = 'col-sm-4'; if( $widget_block_count == 4 ){ $col_class = 'col-sm-3'; } echo PHP_EOL.'<div class="row row-eq-height">'.PHP_EOL; // Print widget area for ( $i = 1; $i <= $widget_block_count; ) { if ( isset( $instance[ 'label_'.$i ] ) && $instance[ 'label_'.$i ] ) { // ---------------------------------------------------------------------------------- // パネルテスト echo '<div class="col-sm-3">'.PHP_EOL; //リンク echo '<a href="'.esc_url( $instance[ 'linkurl_'.$i ] ).'" '.$blank.'>'.PHP_EOL ; echo '<div class="panel panel-primary">'.PHP_EOL; echo '<div class="panel-heading">'.PHP_EOL; //タイトル echo $instance[ 'label_'.$i ]; echo '</div>'.PHP_EOL; echo '<div class="panel-body">'.PHP_EOL; echo '<img src="'.esc_url( $instance[ 'media_image_'.$i ] ).'" alt="'.esc_attr( $instance[ 'media_alt_'.$i ] ).'" />'.PHP_EOL; echo '<p class="just-padding">'.nl2br( wp_kses_post( $instance[ 'summary_'.$i ] ) ).'</p>'.PHP_EOL; echo '</div>'.PHP_EOL; echo '</div>'.PHP_EOL; echo '</a>'; echo '</div>'; // ---------------------------------------------------------------------------------- //echo '<div class="prBlock '.$col_class.'">'.PHP_EOL; // echo '<div class="panel panel-primary">'.PHP_EOL; // echo '<div class="panel-heading">'.PHP_EOL; // // title text // echo '<div class="prBlock_title">'; // if ( isset( $instance[ 'label_'.$i ] ) && $instance[ 'label_'.$i ] ) { // echo $instance[ 'label_'.$i ]; // } else { // _e( 'PR Block', 'vkExUnit' ); // } // echo '</div>'.PHP_EOL; // echo '</div>'.PHP_EOL; // // echo '<div class="panel-body">'.PHP_EOL; // echo 'パネルの内容'.PHP_EOL; // echo '</div>'.PHP_EOL; // echo '</div>'.PHP_EOL; // if ( ! empty( $instance[ 'linkurl_'.$i ] ) ) { // $blank = ( isset( $instance['blank_'.$i] ) && $instance['blank_'.$i] ) ? 'target="_blank"':''; // echo '<a href="'.esc_url( $instance[ 'linkurl_'.$i ] ).'" '.$blank.'>'.PHP_EOL ; // } // icon font display // if ( // // 画像が未登録 && // empty( $instance[ 'media_image_'.$i ] ) && // // iconFont_class_が空じゃない( font-awesomeのアイコンが入力されている )場合 // ! empty( $instance[ 'iconFont_class_'.$i ] ) // ) { // // $styles = 'border:1px solid '.esc_attr($instance[ 'iconFont_bgColor_'.$i ]).';'; // // if ( // !isset( $instance[ 'iconFont_bgType_'.$i ] ) || // $instance[ 'iconFont_bgType_'.$i ] != 'no_paint' // ){ // $styles .= 'background-color:'.esc_attr($instance[ 'iconFont_bgColor_'.$i ]).';'; // } // // echo '<div class="prBlock_icon_outer" style="'.esc_attr( $styles ).'">'; // // if ( isset( $instance[ 'iconFont_bgType_'.$i ] ) && $instance[ 'iconFont_bgType_'.$i ] == 'no_paint' ){ // $icon_styles = ' style="color:'.esc_attr( $instance[ 'iconFont_bgColor_'.$i ] ).';"'; // } else { // $icon_styles = ' style="color:#fff;"'; // } // // echo '<i class="fa '.esc_attr( $instance[ 'iconFont_class_'.$i ] ).' font_icon prBlock_icon"'.$icon_styles.'></i></div>'.PHP_EOL; // // // image display // } else if ( ! empty( $instance[ 'media_image_'.$i ] ) ) { // echo '<div class="prBlock_image">'.PHP_EOL; // echo '<img src="'.esc_url( $instance[ 'media_image_'.$i ] ).'" alt="'.esc_attr( $instance[ 'media_alt_'.$i ] ).'" />'.PHP_EOL.'</div><!--//.prBlock_image -->'.PHP_EOL; // } // title text // echo '<h1 class="prBlock_title">'; // if ( isset( $instance[ 'label_'.$i ] ) && $instance[ 'label_'.$i ] ) { // echo $instance[ 'label_'.$i ]; // } else { // _e( 'PR Block', 'vkExUnit' ); // } // echo '</h1>'.PHP_EOL; // // // summary text // if ( ! empty( $instance[ 'summary_'.$i ] ) ) { // // echo '<p class="prBlock_summary">'.nl2br( wp_kses_post( $instance[ 'summary_'.$i ] ) ).'</p>'.PHP_EOL; // } // // if ( ! empty( $instance[ 'linkurl_'.$i ] ) ) { // echo '</a>'.PHP_EOL; // } // // echo '</div>'.PHP_EOL; // echo '<!--//.prBlock -->'.PHP_EOL; } $i++; } echo '</div>'; //echo '</article>' . $args['after_widget'] . PHP_EOL . '<!-- //.pr_blocks -->'; } }
また、これだと高さが合わないので、CSSには
.panel { height: 95%; margin-bottom: 5%; }
追加、
さらに、画像にそれぞれ左右に隙間があくので、
.nopadding{ padding: 0px; } .just-padding{ padding: 15px; }
追加して、
echo '<div class="col-sm-3">'.PHP_EOL; //リンク echo '<a href="'.esc_url( $instance[ 'linkurl_'.$i ] ).'" '.$blank.'>'.PHP_EOL ; echo '<div class="panel panel-primary">'.PHP_EOL; echo '<div class="panel-heading">'.PHP_EOL; //タイトル echo $instance[ 'label_'.$i ]; echo '</div>'.PHP_EOL; echo '<div class="panel-body nopadding">'.PHP_EOL; echo '<img src="'.esc_url( $instance[ 'media_image_'.$i ] ).'" alt="'.esc_attr( $instance[ 'media_alt_'.$i ] ).'" />'.PHP_EOL; echo '<p class="just-padding">'.nl2br( wp_kses_post( $instance[ 'summary_'.$i ] ) ).'</p>'.PHP_EOL; //echo 'デフォルトのパネル'.PHP_EOL; echo '</div>'.PHP_EOL; echo '</div>'.PHP_EOL; echo '</a>'; echo '</div>';