사이트 링크에서 3 개 언어으로 모니터하기 위해 최근 게시물 워드 프레스 위젯을 편집 : http://nuestrafrontera.org/wordpress/도움말 번
내가 최근 게시물 제목의 공급 언어로 구분 된 3 개 언어의 사이드 바에서 보여주고 싶어요. 예를 들어, Recent Posts에서 사이드 바에 "영어"가 표시되고 최근에 영어로 3 개의 게시물이 표시되고 "Español", 스페인어와 프랑스어로 최신 3 개가 표시됩니다. 열의 목록에있는 모든 항목으로 모든 언어로 된 세로 막대가있는 모든 페이지에 나타납니다.
저는 Wordpress의 최신 버전을 WPML 플러그인과 함께 사용하고 있습니다.
나는 이것을하기 위해 최근 포스트 용 Wordpress 위젯을 조정해야한다고 생각합니다. 여기에 (에서/기본 - widgets.php WP-포함) 코드입니다 : 내가 WPML 플러그인에 익숙하지 않아요하지만 당신은 언어 별 카테고리가있는 경우, 당신은 간단하게 할 수있는
class WP_Widget_Recent_Posts extends WP_Widget {
function WP_Widget_Recent_Posts() {
$widget_ops = array('classname' => 'widget_recent_entries', 'description' => __("The most recent posts on your blog"));
$this->WP_Widget('recent-posts', __('Recent Posts'), $widget_ops);
$this->alt_option_name = 'widget_recent_entries';
add_action('save_post', array(&$this, 'flush_widget_cache'));
add_action('deleted_post', array(&$this, 'flush_widget_cache'));
add_action('switch_theme', array(&$this, 'flush_widget_cache'));
}
function widget($args, $instance) {
$cache = wp_cache_get('widget_recent_posts', 'widget');
if (!is_array($cache))
$cache = array();
if (isset($cache[$args['widget_id']])) {
echo $cache[$args['widget_id']];
return;
}
ob_start();
extract($args);
$title = apply_filters('widget_title', empty($instance['title']) ? __('Recent Posts') : $instance['title']);
if (!$number = (int) $instance['number'])
$number = 10;
else if ($number < 1)
$number = 1;
else if ($number > 15)
$number = 15;
$r = new WP_Query(array('showposts' => $number, 'nopaging' => 0, 'post_status' => 'publish', 'caller_get_posts' => 1));
if ($r->have_posts()) : ?>
<?php echo $before_widget; ?>
<?php if ($title) echo $before_title . $title . $after_title; ?>
<ul>
<?php while ($r->have_posts()) : $r->the_post(); ?>
<li><a href="<?php the_permalink() ?>" title="<?php echo esc_attr(get_the_title() ? get_the_title() : get_the_ID()); ?>"><?php if (get_the_title()) the_title(); else the_ID(); ?> </a></li>
<?php endwhile; ?>
</ul>
<?php echo $after_widget; ?>
<?php
wp_reset_query(); // Restore global post data stomped by the_post().
endif;
$cache[$args['widget_id']] = ob_get_flush();
wp_cache_add('widget_recent_posts', $cache, 'widget');
}
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['number'] = (int) $new_instance['number'];
$this->flush_widget_cache();
$alloptions = wp_cache_get('alloptions', 'options');
if (isset($alloptions['widget_recent_entries']))
delete_option('widget_recent_entries');
return $instance;
}
function flush_widget_cache() {
wp_cache_delete('widget_recent_posts', 'widget');
}
function form($instance) {
$title = esc_attr($instance['title']);
if (!$number = (int) $instance['number'])
$number = 5;
?>
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></p>
<p><label for="<?php echo $this->get_field_id('number'); ?>"><?php _e('Number of posts to show:'); ?></label>
<input id="<?php echo $this->get_field_id('number'); ?>" name="<?php echo $this->get_field_name('number'); ?>" type="text" value="<?php echo $number; ?>" size="3" /><br />
<small><?php _e('(at most 15)'); ?></small></p>
<?php
}
}
범주로 추적 다른 언어인가
가 도움이 희망 : 코드 아래 테마의
functions.php
장소에서? 나는 WPML에 익숙하지 않다. ... –WPML을 사용하면 거의 모든 것이 언어로 정의 될 수 있으며, 게시물/페이지 및 카테고리와 같은 것에 대해서는 범주가 다른 언어의 다른 번역을 나타낼 수있다. – CreativEliza