如何在WordPress下拉菜单中选择默认的选定值?

时间:2020-01-16 作者:Antoine

首先,我对这件事很陌生,如果之前有人问过我,我很抱歉,但我找不到适合我的正确答案。

我的网站上有这个下拉列表enter image description here

来自比较技术(.)fr公司

我正在尝试删除“Toutes les catégories”,并将“Acheter”设置为默认值。我曾尝试在wordpress中添加一个函数,但没有成功,我尝试了:(再次尝试)

function wp_dropdown_categories( $args = \'\' ) { $defaults = array( \'selected\' => 2, ); 
以下是有关html代码的更多信息:

enter image description here

非常感谢你能帮助我的任何人!

2 个回复
SO网友:Antti Koskinen

要设置类别下拉列表的默认值,需要将其作为函数的参数传递。就像这样,

$dropdown_args = array(
  \'selected\' => 2,
);
wp_dropdown_categories( $dropdown_args );

SO网友:Antoine

@Antti Koskinensory我没有解释清楚,这不是Elementor的,只是我不知道把代码放在哪里:)

我已经修改了文件类wp小部件搜索。php,但没有任何效果。我刚刚将此添加到文件中:

\'selected\' => 2,
以下是完整的文件代码:

/**
 * Sets up a new Search widget instance.
 *
 * @since 2.8.0
 */
public function __construct() {
    $widget_ops = array(
        \'classname\'                   => \'widget_search\',
        \'description\'                 => __( \'A search form for your site.\' ),
        \'customize_selective_refresh\' => true,
        \'selected\' => 2,
    );
    parent::__construct( \'search\', _x( \'Search\', \'Search widget\' ), $widget_ops );
}

/**
 * Outputs the content for the current Search widget instance.
 *
 * @since 2.8.0
 *
 * @param array $args     Display arguments including \'before_title\', \'after_title\',
 *                        \'before_widget\', and \'after_widget\'.
 * @param array $instance Settings for the current Search widget instance.
 */
public function widget( $args, $instance ) {
    $title = ! empty( $instance[\'title\'] ) ? $instance[\'title\'] : \'\';

    /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
    $title = apply_filters( \'widget_title\', $title, $instance, $this->id_base );

    echo $args[\'before_widget\'];
    if ( $title ) {
        echo $args[\'before_title\'] . $title . $args[\'after_title\'];
    }

    // Use current theme search form if it exists
    get_search_form();

    echo $args[\'after_widget\'];
}
/**
 * Outputs the settings form for the Search widget.
 *
 * @since 2.8.0
 *
 * @param array $instance Current settings.
 */
public function form( $instance ) {
    $instance = wp_parse_args( (array) $instance, array( \'title\' => \'\' ) );
    $title    = $instance[\'title\'];
    ?>
    <p><label for="<?php echo $this->get_field_id( \'title\' ); ?>"><?php _e( \'Title:\' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( \'title\' ); ?>" name="<?php echo $this->get_field_name( \'title\' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /></label></p>
    <?php
}

/**
 * Handles updating settings for the current Search widget instance.
 *
 * @since 2.8.0
 *
 * @param array $new_instance New settings for this instance as input by the user via
 *                            WP_Widget::form().
 * @param array $old_instance Old settings for this instance.
 * @return array Updated settings.
 */
public function update( $new_instance, $old_instance ) {
    $instance          = $old_instance;
    $new_instance      = wp_parse_args( (array) $new_instance, array( \'title\' => \'\' ) );
    $instance[\'title\'] = sanitize_text_field( $new_instance[\'title\'] );
    return $instance;
}
谢谢你。