gpt4 book ai didi

wordpress - 如何修改我的自定义小部件以支持 qtranslate?

转载 作者:行者123 更新时间:2023-12-02 21:19:53 25 4
gpt4 key购买 nike

我有一个网站,我必须修改我的小部件才能使用 qTranslate 插件。有人可以指出我正确的方向吗?

基本上,我希望为每种语言显示我的输入字段,以便用户轻松知道在哪里输入信息,而不是在神秘的刺中输入信息

[:en]仅限英语[:fr]仅限法语

感谢您的帮助

最佳答案

据我所知,您必须使用自定义翻译字段复制所需的小部件。

以下是搜索小部件的改编版,复制自 /wp-includes/default-widgets.php .

请注意,您可以优化所有 FIELD_language 选项值,在所有可用语言中执行 foreach

add_action( 'widgets_init', 'qtrans_search_widget_so_14303711' );

function qtrans_search_widget_so_14303711()
{
unregister_widget( 'WP_Widget_Search' );
register_widget( 'QT_Widget_Search' );
}

class QT_Widget_Search extends WP_Widget {

function __construct() {
$widget_ops = array('classname' => 'widget_search', 'description' => __( "A search form for your site") );
parent::__construct('search', __('Search'), $widget_ops);
}

function widget( $args, $instance ) {
extract($args);
$title_en = empty( $instance['title_en'] ) ? '' : $instance['title_en'] ;
$title_fr = empty( $instance['title_fr'] ) ? '' : $instance['title_fr'] ;

// THIS PART CAN BE GREATLY OPTIMIZED
$lingo = qtrans_getLanguage();
if ( 'en' == $lingo )
$title = $title_en;
else
$title = $title_fr;

echo $before_widget;
if ( $title )
echo $before_title . $title . $after_title;

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

echo $after_widget;
}

function form( $instance ) {
$instance = wp_parse_args( (array) $instance, array( 'title_en' => '', 'title_fr' => '') );
$title_en = $instance['title_en'];
$title_fr = $instance['title_fr'];
?>
<p><label for="<?php echo $this->get_field_id('title_en'); ?>"><?php _e('Title English:'); ?> <input class="widefat" id="<?php echo $this->get_field_id('title_en'); ?>" name="<?php echo $this->get_field_name('title_en'); ?>" type="text" value="<?php echo esc_attr($title_en); ?>" /></label></p>
<p><label for="<?php echo $this->get_field_id('title_fr'); ?>"><?php _e('Title Français:'); ?> <input class="widefat" id="<?php echo $this->get_field_id('title_fr'); ?>" name="<?php echo $this->get_field_name('title_fr'); ?>" type="text" value="<?php echo esc_attr($title_fr); ?>" /></label></p>
<?php
}

function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$new_instance = wp_parse_args((array) $new_instance, array( 'title_en' => '', 'title_fr' => ''));
$instance['title_en'] = strip_tags($new_instance['title_en']);
$instance['title_fr'] = strip_tags($new_instance['title_fr']);
return $instance;
}

}

它呈现:

custom search widget for qTranslate

关于wordpress - 如何修改我的自定义小部件以支持 qtranslate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14303711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com