Update amenity icon.

This commit is contained in:
Hoang Huu 2019-09-26 14:52:40 +07:00
parent 251eaf8ac5
commit ab83165eb7
3 changed files with 51 additions and 34 deletions

View File

@ -62,7 +62,8 @@ class OpalEstate_Enqueue {
/** /**
* Enqueue 3rd. * Enqueue 3rd.
*/ */
wp_enqueue_style( 'fontawesome', OPALESTATE_PLUGIN_URL . 'assets/3rd/fontawesome/css/all.min.css', null, '5.11.2', false ); wp_register_style( 'fontawesome', OPALESTATE_PLUGIN_URL . 'assets/3rd/fontawesome/css/all.min.css', null, '5.11.2', false );
wp_enqueue_style( 'fontawesome' );
wp_enqueue_style( 'hint', OPALESTATE_PLUGIN_URL . 'assets/3rd/hint/hint.min.css', null, '1.3', false ); wp_enqueue_style( 'hint', OPALESTATE_PLUGIN_URL . 'assets/3rd/hint/hint.min.css', null, '1.3', false );
wp_enqueue_style( 'select2', OPALESTATE_PLUGIN_URL . 'assets/3rd/select2/css/select2.min.css', null, '1.3', false ); wp_enqueue_style( 'select2', OPALESTATE_PLUGIN_URL . 'assets/3rd/select2/css/select2.min.css', null, '1.3', false );
wp_enqueue_script( 'select2', OPALESTATE_PLUGIN_URL . 'assets/3rd/select2/js/select2.min.js', null, '1.3', false ); wp_enqueue_script( 'select2', OPALESTATE_PLUGIN_URL . 'assets/3rd/select2/js/select2.min.js', null, '1.3', false );

View File

@ -17,7 +17,7 @@ class Opalestate_Field_Iconpicker {
const VERSION = '1.0.0'; const VERSION = '1.0.0';
/** /**
* Initialize the plugin by hooking into CMB2 * Initialize the plugin by hooking into CMB2.
*/ */
public function __construct() { public function __construct() {
add_filter( 'cmb2_render_opal_iconpicker', [ $this, 'render_iconpicker' ], 10, 5 ); add_filter( 'cmb2_render_opal_iconpicker', [ $this, 'render_iconpicker' ], 10, 5 );
@ -28,14 +28,16 @@ class Opalestate_Field_Iconpicker {
$fontawesome_key = 'opalestate_fontawesome_data'; $fontawesome_key = 'opalestate_fontawesome_data';
$icon_data = []; $icon_data = [];
if ( false === ( $fontawesome_icons = get_transient( $fontawesome_key ) ) ) { if ( false === ( $fontawesome_icons = get_transient( $fontawesome_key ) ) ) {
$fontawesome = new Opalestate_Iconpicker_Fontawesome(); $fontawesome = new Opalestate_Iconpicker_Fontawesome();
$fontawesome_icons = $fontawesome->get_icons(); $fontawesome_icons = $fontawesome->get_icons();
set_transient( $fontawesome_key, $fontawesome_icons, 24 * 7 * HOUR_IN_SECONDS ); set_transient( $fontawesome_key, $fontawesome_icons, 24 * 7 * HOUR_IN_SECONDS );
$icon_data[] = $fontawesome_icons;
} }
var_dump($icon_data);
return $icon_data; $icon_data = array_merge( $icon_data, $fontawesome_icons );
return apply_filters( 'opalestate_get_font_data', $icon_data );
} }
/** /**
@ -44,44 +46,44 @@ class Opalestate_Field_Iconpicker {
public function render_iconpicker( $field, $field_escaped_value, $field_object_id, $field_object_type, $field_type_object ) { public function render_iconpicker( $field, $field_escaped_value, $field_object_id, $field_object_type, $field_type_object ) {
$this->setup_admin_scripts(); $this->setup_admin_scripts();
$users = $field->value; $output = sprintf(
'<select id="%1$s" class="opalestate-iconpicker" name="%2$s">',
sanitize_key( $field->args['_id'] ),
esc_attr( $field->args['_id'] )
);
var_dump($this->get_icons()); foreach ( $this->get_icons() as $icon_item ) {
$full_icon_class = $icon_item['prefix'] . ' ' . $icon_item['class'];
$output .= '<option value="' . $full_icon_class . '" ' . selected( $full_icon_class, $field->escaped_value(), false ) . '>' . esc_html( $icon_item['class'] ) . '</option>';
}
// $output = sprintf( $output .= '</select>';
// '<select id="%1$s" class="%2$s" name="%3$s">', echo '<p class="description">' . $field->args( 'description' ) . '</p>';
// sanitize_key( $this->form->form_id . $args['id'] ), echo $output;
// esc_attr( $args['class'] ),
// esc_attr( $args['id'] )
// );
//
// foreach ( $this->icon_data as $icon_item ) {
// $full_icon_class = $icon_item['prefix'] . ' ' . $icon_item['class'];
// $output .= '<option value="' . $full_icon_class . '" ' . selected( $full_icon_class, $value, false ) . '>' . esc_html( $icon_item['class'] ) . '</option>';
// }
//
// $output .= '</select>';
//
// echo $output;
} }
/** /**
* Sanitize data. * Sanitize data.
*/ */
public function sanitize( $override_value, $value, $object_id, $field_args ) { public function sanitize( $override_value, $value, $object_id, $field_args ) {
return $value; return sanitize_text_field( $value );
} }
/** /**
* Enqueue scripts and styles. * Enqueue scripts and styles.
*/ */
public function setup_admin_scripts() { public function setup_admin_scripts() {
wp_register_style( 'fontawesome', OPALESTATE_PLUGIN_URL . 'assets/3rd/fontawesome/css/all.min.css', null, '5.11.2', false );
// Iconpicker. // Iconpicker.
wp_register_style( 'fonticonpicker', plugins_url( 'assets/css/jquery.fonticonpicker.min.css', __FILE__ ), [], self::VERSION ); wp_register_style( 'fonticonpicker', plugins_url( 'assets/css/jquery.fonticonpicker.min.css', __FILE__ ), [], self::VERSION );
wp_register_style( 'fonticonpicker-grey-theme', plugins_url( 'assets/themes/grey-theme/jquery.fonticonpicker.grey.min.css', __FILE__ ), [], self::VERSION ); wp_register_style( 'fonticonpicker-grey-theme', plugins_url( 'assets/themes/grey-theme/jquery.fonticonpicker.grey.min.css', __FILE__ ), [ 'fontawesome' ], self::VERSION );
wp_enqueue_style( 'fonticonpicker' ); wp_enqueue_style( 'fonticonpicker' );
wp_enqueue_style( 'fonticonpicker-grey-theme' ); wp_enqueue_style( 'fonticonpicker-grey-theme' );
wp_enqueue_script( 'fonticonpicker', plugins_url( 'assets/js/jquery.fonticonpicker.min.js', __FILE__ ), [], '2.0.0' );
wp_enqueue_script( 'opalestate-fonticonpicker', plugins_url( 'assets/js/script.js', __FILE__ ), [ 'fonticonpicker' ], self::VERSION );
} }
} }

View File

@ -6,17 +6,31 @@ $amenities = $property->get_amenities();
?> ?>
<?php if ( $property->get_block_setting( 'amenities' ) && $amenities ): ?> <?php if ( $property->get_block_setting( 'amenities' ) && $amenities ): ?>
<div class="property-amenities box-inner-summary"> <div class="property-amenities box-inner-summary">
<h5 class="list-group-item-heading"><?php esc_html_e( "Amenities", "opalestate" ); ?></h5> <h5 class="list-group-item-heading"><?php esc_html_e( 'Amenities', 'opalestate-pro' ); ?></h5>
<div class="list-group-item-text"> <div class="list-group-item-text">
<div class="opal-row"> <div class="opal-row">
<?php foreach ( $amenities as $amenity ): ?> <?php foreach ( $amenities as $amenity ): ?>
<div class="col-lg-4 col-sm-4 <?php if ( has_term( $amenity->term_id, 'opalestate_amenities', $post ) ) : ?>active<?php endif; ?>">
<?php <?php
if ( $image_id = get_term_meta( $amenity->term_id, 'opalestate_amt_image_id', true )) { if ( apply_filters( 'opalestate_hide_unset_amenity', false ) && ! has_term( $amenity->term_id, 'opalestate_amenities', $post ) ) {
continue;
}
?>
<div class="col-lg-4 col-sm-4">
<div class="amenity-item <?php echo has_term( $amenity->term_id, 'opalestate_amenities', $post ) ? 'active' : ''; ?>">
<?php
if ( $icon = get_term_meta( $amenity->term_id, 'opalestate_amt_icon', true ) ) {
echo '<span class="amenity-icon"><i class="' . esc_attr( $icon ) . '"></i></span>';
} elseif ( $image_id = get_term_meta( $amenity->term_id, 'opalestate_amt_image_id', true ) ) {
echo wp_get_attachment_image( $image_id ); echo wp_get_attachment_image( $image_id );
} }
?> ?>
<?php echo esc_html( $amenity->name ); ?> <i class="fa fa-check"></i> <?php echo esc_html( $amenity->name ); ?>&nbsp;
<?php if ( has_term( $amenity->term_id, 'opalestate_amenities', $post ) ) : ?>
<?php echo apply_filters( 'opalestate_amenity_check_icon', '<i class="fa fa-check"></i>' ); ?>
<?php else : ?>
<?php echo apply_filters( 'opalestate_amenity_uncheck_icon', '<i class="fa fa-check"></i>' ); ?>
<?php endif; ?>
</div>
</div> </div>
<?php endforeach; ?> <?php endforeach; ?>
</div> </div>