• Rozwiązano marira

    (@marira)


    Chciałam stworzyć na stronie widget z dwoma informacjami. Iloość postów i ilośc komentarzy dodanych dzisiaj. Szukałam uparcie w sieci jakiegoś widgeta gotowego, niestety nie udało mi się. Znajoma podpowiedziała mi kodzik na ilość postów dziś dodanych:

    $today = date("Y-m-d H:i:s"); //Today's date
     $daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (1 * 24 * 60 * 60)); //Today - 1 day posty
    
    $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_date BETWEEN '$daysago' AND '$today'");
    
    if ($numposts >0) {
     echo $numposts.' Wallpapers Added';
     } else {
     echo "0 Wallpapers Added";
     }

    Na jego podstawie stworzyłam sobie, mam nadzieję że prawidłowo kodzik na ilość komentarzy dziś dodanych:

    $today = date("Y-m-d H:i:s"); //Today's date
     $daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (1 * 24 * 60 * 60)); //Today - 1 day komentarze
    
    $numcomments = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1' AND comment_date BETWEEN '$daysago' AND '$today'");
    
    if ($numcomments >0) {
     echo $numcomments.' Wallpapers Added';
     } else {
     echo "0 Wallpapers Added";
     }

    A teraz prośba czy móggłby mi ktoś podpowiedzieć jak sprawić żeby te kody pojawiły mi się jako widget na stronie głównej w bocznym menu, nie w panelu administratora tylko na stronie głównej mojej strony. Dobrze by było połączyć te dwa kody i żeby pokazywało np.

    Dziś dodanych komenttarzy: 12
    Dziś dodanych postów:13

    Coś w tym stylu. Nie umiem sobie z dalszym ciągiem tego poradzić, dlatego tutaj proszę o pomoc, i z góry dziękuję. Kody mogą się komuś przydać przy okazji.

Viewing 2 replies - 1 through 2 (of 2 total)
  • http://codex.wordpress.org/Widgets_API

    Tak baaaaaaardzo na szybko (więc mogło by być pewnie ładniej).
    Możesz wrzucić np. do functions.php.

    Taka drobna zmiana …bo skoro ma byc „dzisiaj”, to trzeba chyba liczyć od północy a nie -24h od teraz 😉

    class My_Counter extends WP_Widget {
    public function __construct() {
    parent::__construct('my_counter','My_Counter',array( 'description' => __( 'Post&Comments Today Counter', 'text_domain' ), )	);
    }
    
    public function form( $instance ) {
    if (isset($instance['title'])) { $title = $instance['title']; }
    else { $title = __( 'Today:', 'text_domain' );	}
    ?>
    <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 esc_attr( $title ); ?>" />
    </p>
    <?php
    }
    
    public function update( $new_instance, $old_instance ) {
    $instance = array();
    $instance['title'] = strip_tags( $new_instance['title'] );
    return $instance;
    }
    
    public function widget( $args, $instance ) {
    global $wpdb;
    extract( $args );
    $title = apply_filters( 'widget_title', $instance['title'] );
    
    echo $before_widget;
    if (!empty($title)) echo $before_title . $title . $after_title;
    
    $now = date('Y-m-d H:i:s');
    $daylight = date('Y-m-d H:i:s',strtotime(date('Y-m-d 00:00:00')));
    $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_date BETWEEN '$daylight' AND '$now'");
    $numcomments = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1' AND comment_date BETWEEN '$daylight' AND '$now'");
    
    if ($numposts >0) { echo $numposts.' Posts Added'; }
    else { echo '0 Posts Added'; }
    
    if ($numcomments >0) { echo '<br />'.$numcomments.' Comments Added'; }
    else { echo '<br />0 Comments Added'; }
    
    echo $after_widget;
    }
    
    }
    register_widget('My_Counter');

    Thread Starter marira

    (@marira)

    Nie mam słów, jakich chciałabym użyć żeby Ci podziękować. Dlatego napiszę po prostu, dziękuję. Tego mi tylko na strone było potrzeba. Teraz zostały mi takie pomniejsze rzeczy. Tym widgetem sprawiłeś mi wiele radości, i jestem Ci niezmiernie wdzięczna. Mieć w Tobie oparcie to dla mnie zaszczyt… Dziękuję raz jeszcze. I oby te tutaj nasze działania jeszcze komuś pomogły. Pozdrawiam ciepło.

Viewing 2 replies - 1 through 2 (of 2 total)
  • Temat ‘Prośba o pomoc’ jest zamknięty na nowe odpowiedzi.