我已经在谷歌上搜索了几个小时,但没有真正有用的结果,我有一个使用WP Job Manager的网站。此插件附带的搜索字段之一是类别下拉列表。
我想更改此文本的占位符,从“选择类别…”“选择您的扇区…”
我看到了这篇帖子:https://wordpress.org/support/topic/changing-placeholder-text-for-category-dropdown/
这就解释了这是可以做到的。
下面的代码取自WP Job Manager插件,供上面的链接参考。
function job_manager_dropdown_categories( $args = \'\' ) {
$defaults = array(
\'orderby\' => \'id\',
\'order\' => \'ASC\',
\'show_count\' => 0,
\'hide_empty\' => 1,
\'child_of\' => 0,
\'exclude\' => \'\',
\'echo\' => 1,
\'selected\' => 0,
\'hierarchical\' => 0,
\'name\' => \'cat\',
\'id\' => \'\',
\'class\' => \'job-manager-category-dropdown \' . ( is_rtl() ? \'chosen-rtl\' : \'\' ),
\'depth\' => 0,
\'taxonomy\' => \'job_listing_category\',
\'value\' => \'id\',
\'multiple\' => true,
\'show_option_all\' => false,
\'placeholder\' => __( \'Choose a category…\', \'wp-job-manager\' ),
\'no_results_text\' => __( \'No results match\', \'wp-job-manager\' ),
\'multiple_text\' => __( \'Select Some Options\', \'wp-job-manager\' )
);
$r = wp_parse_args( $args, $defaults );
if ( ! isset( $r[\'pad_counts\'] ) && $r[\'show_count\'] && $r[\'hierarchical\'] ){
$r[\'pad_counts\'] = true;
}
// WPML & Polylang caching per language
if ( defined( \'ICL_SITEPRESS_VERSION\' ) ) {
$r[\'lang\'] = apply_filters( \'wpml_current_language\', NULL );
} elseif ( function_exists( \'pll_current_language\' ) ) {
$r[\'lang\'] = pll_current_language();
}
extract( $r );
// Store in a transient to help sites with many cats
$categories_hash = \'jm_cats_\' . md5( json_encode( $r ) . WP_Job_Manager_Cache_Helper::get_transient_version( \'jm_get_\' . $r[\'taxonomy\'] ) );
$categories = get_transient( $categories_hash );
if ( empty( $categories ) ) {
$categories = get_terms( $taxonomy, array(
\'orderby\' => $r[\'orderby\'],
\'order\' => $r[\'order\'],
\'hide_empty\' => $r[\'hide_empty\'],
\'child_of\' => $r[\'child_of\'],
\'exclude\' => $r[\'exclude\'],
\'hierarchical\' => $r[\'hierarchical\']
) );
set_transient( $categories_hash, $categories, DAY_IN_SECONDS * 30 );
}
$name = esc_attr( $name );
$class = esc_attr( $class );
$id = $id ? esc_attr( $id ) : $name;
$output = "<select name=\'" . esc_attr( $name ) . "[]\' id=\'" . esc_attr( $id ) . "\' class=\'" . esc_attr( $class ) . "\' " . ( $multiple ? "multiple=\'multiple\'" : \'\' ) . " data-placeholder=\'" . esc_attr( $placeholder ) . "\' data-no_results_text=\'" . esc_attr( $no_results_text ) . "\' data-multiple_text=\'" . esc_attr( $multiple_text ) . "\'>\\n";
if ( $show_option_all ) {
$output .= \'<option value="">\' . esc_html( $show_option_all ) . \'</option>\';
}
if ( ! empty( $categories ) ) {
include_once( JOB_MANAGER_PLUGIN_DIR . \'/includes/class-wp-job-manager-category-walker.php\' );
$walker = new WP_Job_Manager_Category_Walker;
if ( $hierarchical ) {
$depth = $r[\'depth\']; // Walk the full depth.
} else {
$depth = -1; // Flat.
}
$output .= $walker->walk( $categories, $depth, $r );
}
$output .= "</select>\\n";
if ( $echo ) {
echo $output;
}
return $output;
}
如果您能提供有关如何创建过滤器以更改占位符文本的建议,我将不胜感激。克雷格