Skip to content

Commit

Permalink
fix(admin-form): add logic to customize chosen form dropdown argumentze
Browse files Browse the repository at this point in the history
fixes #3192
  • Loading branch information
ravinderk committed May 8, 2018
1 parent 445620f commit d1a37b8
Showing 1 changed file with 17 additions and 10 deletions.
27 changes: 17 additions & 10 deletions includes/class-give-html-elements.php
Expand Up @@ -113,15 +113,19 @@ public function forms_dropdown( $args = array() ) {
'data' => array(
'search-type' => 'form',
),
'query_args' => array()
);

$args = wp_parse_args( $args, $defaults );

$form_args = array(
'post_type' => 'give_forms',
'orderby' => 'title',
'order' => 'ASC',
'posts_per_page' => $args['number'],
$form_args = wp_parse_args(
$args['query_args'],
array(
'post_type' => 'give_forms',
'orderby' => 'title',
'order' => 'ASC',
'posts_per_page' => $args['number'],
)
);

$cache_key = Give_Cache::get_key( 'give_forms', $form_args, false );
Expand All @@ -130,7 +134,8 @@ public function forms_dropdown( $args = array() ) {
$forms = Give_Cache::get_db_query( $cache_key );

if ( is_null( $forms ) ) {
$forms = get_posts( $form_args );
$forms = new WP_Query( $form_args );
$forms = $forms->posts;
Give_Cache::set_db_query( $cache_key, $forms );
}

Expand All @@ -141,14 +146,16 @@ public function forms_dropdown( $args = array() ) {
$options[ $args['selected'] ] = get_the_title( $args['selected'] );
}

if ( $forms ) {
$options[0] = esc_html__( 'No forms found.', 'give' );
if ( ! empty( $forms ) ) {
$options[0] = $args['placeholder'];
foreach ( $forms as $form ) {
$form_title = empty( $form->post_title ) ? sprintf( __( 'Untitled (#%s)', 'give' ), $form->ID ) : $form->post_title;
$form_title = empty( $form->post_title )
? sprintf( __( 'Untitled (#%s)', 'give' ), $form->ID )
: $form->post_title;

$options[ absint( $form->ID ) ] = esc_html( $form_title );
}
} else {
$options[0] = esc_html__( 'No forms found.', 'give' );
}

$output = $this->select( array(
Expand Down

0 comments on commit d1a37b8

Please sign in to comment.