192 lines
6.9 KiB
PHP
192 lines
6.9 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Search Form: Vertical Layout.
|
|
*
|
|
* @link https://plugins360.com
|
|
* @since 1.0.0
|
|
*
|
|
* @package All_In_One_Video_Gallery
|
|
*/
|
|
|
|
$is_form_submitted = false;
|
|
if ( isset( $_GET['vi'] ) || isset( $_GET['ca'] ) || isset( $_GET['ta'] ) ) {
|
|
$is_form_submitted = true;
|
|
}
|
|
|
|
$search_form_mode = 'search';
|
|
if ( ! $attributes['has_search_button'] ) {
|
|
$search_form_mode = 'live';
|
|
if ( isset( $attributes['filters_mode'] ) ) {
|
|
$search_form_mode = $attributes['filters_mode'];
|
|
}
|
|
}
|
|
|
|
$has_search_button = $attributes['has_search_button'];
|
|
|
|
$has_reset_button = $attributes['has_reset_button'];
|
|
if ( $has_reset_button && 'ajax' !== $search_form_mode ) {
|
|
$has_reset_button = $is_form_submitted;
|
|
}
|
|
|
|
$search_page_id = (int) $attributes['search_page_id'];
|
|
$search_page_url = aiovg_get_search_page_url( $search_page_id );
|
|
?>
|
|
|
|
<div class="aiovg aiovg-search-form aiovg-search-form-template-vertical aiovg-search-form-mode-<?php echo esc_attr( $search_form_mode ); ?>">
|
|
<form method="get" action="<?php echo esc_url( $search_page_url ); ?>">
|
|
<?php if ( ! get_option( 'permalink_structure' ) ) : ?>
|
|
<input type="hidden" name="page_id" value="<?php echo $search_page_id; ?>" />
|
|
<?php endif; ?>
|
|
|
|
<?php if ( $attributes['has_keyword'] ) : ?>
|
|
<div class="aiovg-form-group aiovg-field-keyword">
|
|
<input type="text" name="vi" class="aiovg-form-control" placeholder="<?php esc_attr_e( 'Enter your Keyword', 'all-in-one-video-gallery' ); ?>" value="<?php echo isset( $_GET['vi'] ) ? esc_attr( stripslashes( $_GET['vi'] ) ) : ''; ?>" />
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<!-- Hook for developers to add new fields -->
|
|
<?php do_action( 'aiovg_search_form_fields', $attributes ); ?>
|
|
|
|
<?php if ( $attributes['has_category'] ) : ?>
|
|
<div class="aiovg-form-group aiovg-field-category">
|
|
<input type="hidden" name="ca[]" value="" />
|
|
<?php
|
|
$categories_selected = array();
|
|
|
|
if ( isset( $_GET['ca'] ) ) {
|
|
$categories_selected = (array) $_GET['ca'];
|
|
} elseif ( isset( $attributes['categories_selected'] ) ) {
|
|
$categories_selected = is_array( $attributes['categories_selected'] ) ? $attributes['categories_selected'] : explode( ',', $attributes['categories_selected'] );
|
|
}
|
|
|
|
$categories_selected = array_filter( array_map( 'intval', $categories_selected ) );
|
|
|
|
if ( empty( $categories_selected ) ) {
|
|
if ( $term_slug = get_query_var( 'aiovg_category' ) ) {
|
|
if ( $term = get_term_by( 'slug', sanitize_text_field( $term_slug ), 'aiovg_categories' ) ) {
|
|
$categories_selected = (array) $term->term_id;
|
|
}
|
|
}
|
|
}
|
|
|
|
$categories_args = array(
|
|
'show_option_none' => '— ' . esc_html__( 'Select Categories', 'all-in-one-video-gallery' ) . ' —',
|
|
'option_none_value' => '',
|
|
'taxonomy' => 'aiovg_categories',
|
|
'name' => 'ca[]',
|
|
'class' => 'aiovg-form-control',
|
|
'orderby' => 'name',
|
|
'order' => 'asc',
|
|
'selected' => $categories_selected,
|
|
'hierarchical' => true,
|
|
'depth' => 10,
|
|
'show_count' => false,
|
|
'hide_empty' => false
|
|
);
|
|
|
|
$categories_excluded = get_terms(array(
|
|
'taxonomy' => 'aiovg_categories',
|
|
'hide_empty' => false,
|
|
'fields' => 'ids',
|
|
'meta_key' => 'exclude_search_form',
|
|
'meta_value' => 1
|
|
));
|
|
|
|
if ( ! empty( $categories_excluded ) && ! is_wp_error( $categories_excluded ) ) {
|
|
$categories_args['exclude'] = array_map( 'intval', $categories_excluded );
|
|
}
|
|
|
|
$categories_args = apply_filters( 'aiovg_search_form_categories_args', $categories_args );
|
|
aiovg_dropdown_terms( $categories_args );
|
|
?>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if ( $attributes['has_tag'] ) : ?>
|
|
<div class="aiovg-form-group aiovg-field-tag">
|
|
<input type="hidden" name="ta[]" value="" />
|
|
<?php
|
|
$tags_selected = array();
|
|
|
|
if ( isset( $_GET['ta'] ) ) {
|
|
$tags_selected = (array) $_GET['ta'];
|
|
} elseif ( isset( $attributes['tags_selected'] ) ) {
|
|
$tags_selected = is_array( $attributes['tags_selected'] ) ? $attributes['tags_selected'] : explode( ',', $attributes['tags_selected'] );
|
|
}
|
|
|
|
$tags_selected = array_filter( array_map( 'intval', $tags_selected ) );
|
|
|
|
if ( empty( $tags_selected ) ) {
|
|
if ( $term_slug = get_query_var( 'aiovg_tag' ) ) {
|
|
if ( $term = get_term_by( 'slug', sanitize_text_field( $term_slug ), 'aiovg_tags' ) ) {
|
|
$tags_selected = (array) $term->term_id;
|
|
}
|
|
}
|
|
}
|
|
|
|
$tags_args = array(
|
|
'show_option_none' => '— ' . esc_html__( 'Select Tags', 'all-in-one-video-gallery' ) . ' —',
|
|
'option_none_value' => '',
|
|
'taxonomy' => 'aiovg_tags',
|
|
'name' => 'ta[]',
|
|
'class' => 'aiovg-form-control',
|
|
'orderby' => 'name',
|
|
'order' => 'asc',
|
|
'selected' => $tags_selected,
|
|
'hierarchical' => false,
|
|
'show_count' => false,
|
|
'hide_empty' => false
|
|
);
|
|
|
|
$tags_args = apply_filters( 'aiovg_search_form_tags_args', $tags_args );
|
|
aiovg_dropdown_terms( $tags_args );
|
|
?>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if ( $attributes['has_sort'] ) : ?>
|
|
<div class="aiovg-form-group aiovg-field-sort">
|
|
<?php
|
|
$sort_options = aiovg_get_search_form_sort_options();
|
|
$sort_selected = isset( $_GET['sort'] ) ? sanitize_text_field( $_GET['sort'] ) : '';
|
|
|
|
echo '<select name="sort" class="aiovg-form-control">';
|
|
echo sprintf( '<option value="">— %s —</option>', __( 'Sort By', 'all-in-one-video-gallery' ) );
|
|
|
|
foreach ( $sort_options as $key => $value ) {
|
|
echo sprintf(
|
|
'<option value="%s"%s>%s</option>',
|
|
esc_attr( $key ),
|
|
selected( $key, $sort_selected, false ),
|
|
esc_html( $value )
|
|
);
|
|
}
|
|
|
|
echo '</select>';
|
|
?>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if ( $has_search_button && $has_reset_button ) : ?>
|
|
<div class="aiovg-button-group aiovg-flex aiovg-gap-2 aiovg-items-center">
|
|
<?php endif; ?>
|
|
|
|
<?php if ( $has_search_button ) : ?>
|
|
<div class="aiovg-form-group aiovg-field-submit">
|
|
<input type="submit" class="aiovg-button aiovg-button-submit" value="<?php esc_attr_e( 'Search Videos', 'all-in-one-video-gallery' ); ?>" />
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if ( $has_reset_button ) : ?>
|
|
<div class="aiovg-form-group aiovg-field-reset"<?php if ( 'ajax' === $search_form_mode ) echo ' hidden'; ?>>
|
|
<input type="button" class="aiovg-button aiovg-button-reset" onclick="location.href='<?php echo esc_url( $search_page_url ); ?>';" value="<?php esc_attr_e( 'Reset', 'all-in-one-video-gallery' ); ?>" />
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if ( $has_search_button && $has_reset_button ) : ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
</form>
|
|
</div>
|