Note that there are some explanatory texts on larger screens.

plurals
  1. POHelp to edit the Recent Posts Wordpress widget to diplay in all 3 languages at once
    primarykey
    data
    text
    <p>Site link: <a href="http://nuestrafrontera.org/wordpress/" rel="noreferrer">http://nuestrafrontera.org/wordpress/</a></p> <p>I want the feed of recent post titles to show in the sidebar for all 3 languages, separated by language. So, for example, under Recent Posts the sidebar would have "English" and then the latest 3 posts in English, then "Español" and the latest 3 in Spanish and then French. All in a list in the column and appearing on all pages with the sidebar in all languages. </p> <p>I am using the most current version of Wordpress with the WPML plugin.</p> <p>I believe the Wordpress widget for Recent Posts needs to be tweaked to do this. Here is the code (from wp-includes/default-widgets.php):</p> <pre><code>class WP_Widget_Recent_Posts extends WP_Widget { function WP_Widget_Recent_Posts() { $widget_ops = array('classname' =&gt; 'widget_recent_entries', 'description' =&gt; __( "The most recent posts on your blog") ); $this-&gt;WP_Widget('recent-posts', __('Recent Posts'), $widget_ops); $this-&gt;alt_option_name = 'widget_recent_entries'; add_action( 'save_post', array(&amp;$this, 'flush_widget_cache') ); add_action( 'deleted_post', array(&amp;$this, 'flush_widget_cache') ); add_action( 'switch_theme', array(&amp;$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 &lt; 1 ) $number = 1; else if ( $number &gt; 15 ) $number = 15; $r = new WP_Query(array('showposts' =&gt; $number, 'nopaging' =&gt; 0, 'post_status' =&gt; 'publish', 'caller_get_posts' =&gt; 1)); if ($r-&gt;have_posts()) : ?&gt; &lt;?php echo $before_widget; ?&gt; &lt;?php if ( $title ) echo $before_title . $title . $after_title; ?&gt; &lt;ul&gt; &lt;?php while ($r-&gt;have_posts()) : $r-&gt;the_post(); ?&gt; &lt;li&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" title="&lt;?php echo esc_attr(get_the_title() ? get_the_title() : get_the_ID()); ?&gt;"&gt;&lt;?php if ( get_the_title() ) the_title(); else the_ID(); ?&gt; &lt;/a&gt;&lt;/li&gt; &lt;?php endwhile; ?&gt; &lt;/ul&gt; &lt;?php echo $after_widget; ?&gt; &lt;?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-&gt;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; ?&gt; &lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;"&gt;&lt;?php _e('Title:'); ?&gt;&lt;/label&gt; &lt;input class="widefat" id="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('title'); ?&gt;" type="text" value="&lt;?php echo $title; ?&gt;" /&gt;&lt;/p&gt; &lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('number'); ?&gt;"&gt;&lt;?php _e('Number of posts to show:'); ?&gt;&lt;/label&gt; &lt;input id="&lt;?php echo $this-&gt;get_field_id('number'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('number'); ?&gt;" type="text" value="&lt;?php echo $number; ?&gt;" size="3" /&gt;&lt;br /&gt; &lt;small&gt;&lt;?php _e('(at most 15)'); ?&gt;&lt;/small&gt;&lt;/p&gt; &lt;?php } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload