• 15-06-2014, 00:48:12
    #1
    bu konuyu hallettim gibi ama başka bi rounla karşılaştım şu konuya bakın

    Arkadaşlar wordpress sistemde yazarları sıralayamadım. aşağıda yazarları listeleyen widgetin kodlarını veriyorum. Yazı sayısına göre göre sıralamak içn yani post_count Nereyi değiştirmem gerek ?
    <?php class EtTopAuthorsWidget extends WP_Widget
    {
    	function EtTopAuthorsWidget(){
    		$widget_ops = array( 'description' => __( 'Displays Top Authors', 'Nexus' ) );
    		$control_ops = array('width' => 400, 'height' => 300);
    		parent::WP_Widget( false, $name = __( 'ET Top Authors', 'Nexus' ), $widget_ops, $control_ops );
    	}
    
    	/* Displays the Widget in the front-end */
    	function widget($args, $instance){
    		global $wpdb;
    		extract($args);
    
    		$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Our Top Authors', 'Nexus' ) : esc_html( $instance['title'] ) );
    
    		echo $before_widget;
    		if ( $title )
    			echo $before_title . $title . $after_title;
    
    		echo '<ul class="et-authors">';
    
    		$query_args['fields'] = 'ids';
    		$authors = get_users( $query_args );
    
    		foreach ( (array) $wpdb->get_results("SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql( 'post' ) . " GROUP BY post_author") as $row )
    			$author_count[$row->post_author] = $row->count;
    
    		foreach ( $authors as $author_id ) {
    			$author = get_userdata( $author_id );
    
    			$posts = isset( $author_count[$author->ID] ) ? $author_count[$author->ID] : 0;
    			if ( 0 === $posts ) continue;
    
    			$link = get_author_posts_url( $author->ID, $author->user_nicename );
    		?>
    			<li>
    				<div class="author-avatar">
    				<?php echo get_avatar( $author_id, 60 ); ?>
    				</div>
    				<div class="et-authors-posts">
    					<h4><a href="<?php echo esc_url( $link ); ?>"><?php echo esc_html( $author->display_name ); ?></a></h4>
    					<span><?php printf( __( 'Yazar Puanı %s', 'Nexus' ), esc_html( $posts ) ); ?></span>
    				</div>
    			</li>
    <?php
    		}
    
    		echo '</ul><!-- .et-authors -->';
    
    		echo $after_widget;
    	}
    
    	/*Saves the settings. */
    	function update($new_instance, $old_instance){
    		$instance = $old_instance;
    		$instance['title'] = sanitize_text_field( $new_instance['title'] );
    
    		return $instance;
    	}
    
    	/*Creates the form for the widget in the back-end. */
    	function form($instance){
    		//Defaults
    		$instance = wp_parse_args( (array) $instance, array( 'title' => __( 'Our Top Authors', 'Nexus' ) ) );
    
    		$title = esc_attr( $instance['title'] );
    
    		# Title
    		echo '<p><label for="' . $this->get_field_id('title') . '">' . 'Title:' . '</label><input class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="text" value="' . $title . '" /></p>';
    	}
    
    }// end EtTopAuthorsWidget class
    
    function EtTopAuthorsWidgetInit() {
    	register_widget( 'EtTopAuthorsWidget' );
    }
    
    add_action( 'widgets_init', 'EtTopAuthorsWidgetInit' );
  • 15-06-2014, 01:34:15
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @webstar; şu bağlantıdaki soru sizin sorunuzla aynı mahiyette olduğunu düşünüyorum. İncelemenizde fayda var.
  • 15-06-2014, 01:39:07
    #3
    saintx adlı üyeden alıntı: mesajı görüntüle
    @webstar; şu bağlantıdaki soru sizin sorunuzla aynı mahiyette olduğunu düşünüyorum. İncelemenizde fayda var.
    çözemedim malesef yada uygulayamadım onu kendi kodlarıma
  • 15-06-2014, 01:43:43
    #4
    @webstar; şu bağlantıyı inceleyebilir misin?
  • 15-06-2014, 01:49:22
    #5
    saintx adlı üyeden alıntı: mesajı görüntüle
    @webstar; şu bağlantıyı inceleyebilir misin?
    öncelikle ilgin için teşekkür ediyorum fakat bu verdiğiniz bağlantıdaki gibi veya diğer şekillerde yazarları sıralayabiliyorum zaten .. Benim amacım temanın kod yapısını bozmadan değişiklik yapmak.. (sıfırdan yazmıyım diye uğraşıyorum widgeti) zaten kodlardaki küçücük bi değişiklik olayı çözecek muhtemelen ama orayı bulamadım işte..Kodlama şekli bi garip farkettiyseniz.