Ernährungsumstellung – aber wie?

Immer wieder ließt man von wilden Diäten ob mit Fleisch, Fisch, Kohl oder neumodisch LowCarb. Das erste was alle beschwören ist ein schneller Erfolg. Eines haben sie jedoch alle gemeinsam, man muss verzichten und das für die Dauer der Diät. Geht es um die reine Ernährungsumstellung so wird als erstes auf den Süßigkeiten und den versteckenten Kalorien herumgeritten. Wer hat es noch nicht gehört “Ja dann lass den Süßkram sein”. Einige wenige sehr willenstarke Menschen schaffen das villeicht einfach so. Aber bei den meisten von uns stellt sich nach kurzer Zeit eine Entzugserscheinung ein und unser Körper schreit nach dem, was er meint, das es ihm fehlt. Ruck zuck erwischen wir uns in der Nacht am Kühlschrank mit dem Schokopudding oder gar einem Löffel Nutella. Wie ich dem entgehen konnte und trotzdem nicht das gefühl habe zu verzichten möchte ich hier erzählen.
Ernährungsumstellung – aber wie? weiterlesen

Frühstücksideen für jedermann

Gerade gab es bei Galileo ein paar Frühstücksideen die einem die nötige Energie für den Tag geben sollen. Ob für muskuläre oder geistige Ansprüche sowie für Frühaufsteher oder ausgiebige Frühstücker, für alle ist etwas dabei. Da ich nicht weiß wie lange diese Rezeptideen auf prosieben.de zu finden sind, wollte ich sie hier nochmal zur Verfügung stellen und natürlich auch für mich Persönlich notieren.
Frühstücksideen für jedermann weiterlesen

Links aus einem Artikel filtern und am ende Ausgeben

Heute habe ich bei wpde.org eine Frage nach einem “Artikel-link-Crawler” gelesen. Darunter konnte ich mir erst nicht viel vorstellen. Zur Erklärung, gesucht wurde die Möglichkeit alle im Artikel befindlichen Links heraus zu filtern und am ende des Artikels aus zu geben. Ganz ähnlich findet dies auch bei Wikipedia statt, sobald man eine Quelle zu einer Aussage angibt wird diese am ende der Webseite angezeigt. Nun gut und schön, wer diese Funktion benötigt sucht vergebens, jedoch jetzt nicht mehr. Ich habe mich diesem Problem angenommen und einen kleinen Codeschnipsel dazu verfasst welcher genau das tut was gesucht wurde.

Einfügen in die functions.php des WordPress Themes:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function get_post_urls($content) {
    if( preg_match_all("#((https?://|ftp://|www\.|[^\s:=]+@www\.).*?[a-z_\/0-9\-\#=&])(?=(\.|,|;|\?|\!)?(\"|'|«|»|\[|\s|\r|\n|$))#iS", $content, $url) ) {
        $ausgabe = '<h3>Links zum Artikel</h3>';
        $ausgabe .= '<ul>';
        foreach ($url[0] as $url) {
            $ausgabe .= '<li>'.$url.'</li>';
        }
        $ausgabe .= '</ul><ul>';
 
        return $content.$ausgabe;
    } else {
        return $content;
    }
}
add_filter('the_content', 'get_post_urls'); </ul>

Die Schwierigkeit hierbei ist es die URL’s korrekt zu erkennen. Das Suchmuster muss hierzu sehr komplex aufgebaut sein um möglichst wenig fehler zu zu lassen. Wie umfangreich solche suchmuster werden können zeigt der Artikel “In search of the perfect URL validation regex“. Hier findet man Suchmuster von 38 Zeichen bis hin zu 969 Zeichen welche auf den Prüfstand geschickt wurden.
Links aus einem Artikel filtern und am ende Ausgeben weiterlesen

Post/Page Status im Adminbereich hervorheben

Mit dem Folgenden kleinen Codeschnipsel lässt sich der Status (Entwurf, Geplant, Privat…) im Adminbereich hervorheben.

Eingefügt wird der Code in die function.php deines Themes:

1
2
3
4
5
6
7
8
9
10
add_action('admin_footer','posts_status_color');
function posts_status_color(){
?>
.status-draft{background: #FCE3F2 !important;}
.status-pending{background: #87C5D6 !important;}
.status-publish{/* no background keep wp alternating colors */}
.status-future{background: #C6EBF5 !important;}
.status-private{background:#F2D46F;}
<?php 
}

via WPsnipp.com

Artikel Aufrufe erfassen ohne Plugin

Aktuell habe ich versucht den Aufruf von Artikel ohne Plugins wie WP-PostViews zu erfassen. Ich möchte die Artikelaufrufe zählen um in der Sidebar eine Liste der am häufigsten gelesenen Artikel ein zu fügen. Im folgenden habe ich mein Vorgehen erklärt.

Auf der Hilfreichen Webseite WPsnipp.com habe ich den entsprechenden Codeschnipsel gefunden den ich zum Zählen der Aufrufe benötige (WordPress Track post views without a plugin using post meta). Zum speichern der Anzahl nutze ich wie das Plugin die Benutzerdefinierten Felder wodurch ich ohne Probleme die Anzahl der aufrufe die bisher gezählt wurden übernehmen kann.

Zählen der Artikelaufrufe

Der Folgende Code gehört in die functions.php deines Themes.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Funktion zur anzeigen der Aufrufe im Theme
function getPostViews($postID){
    $count_key = 'post_views_count'; // Beim ersetzen des WP-PostView Plugin muss hier "views" stehen!
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return "0 View";
    }
    return $count.' Views';
}
// Funktion zum Zaehlen der Aufrufe
function setPostViews($postID) {
    $count_key = 'post_views_count'; // Beim ersetzen des Plugin WP-PostViews muss hier "views" stehen!
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}

Nun musst du noch in deiner single.php folgenden Code hinzufügen:

1
2
<?php // Zaehlt die Aufrufe des Artikels
          setPostViews(get_the_ID()); ?>

Um die Anzahl der Aufrufe in den Artikeln Anzuzeigen musst du an die gewünschte Stelle folgenden Code einfügen:

1
2
<?php // Anzeige der Aufrufe im Theme
          echo getPostViews(get_the_ID()); ?>

Nun werden die Aufrufe der Artikel gezählt. Möchtest du bestimmte Benutzergruppen von der Zählung ausschließen (z.B. die Administratoren) dann gelingt dir das mit Folgendem Code:

1
2
3
4
<?php if ( ! current_user_can('administrator') ){ // Wenn der User nicht Administrator ist dann Zaehlen!
       // Aufrufe Zaehlen
               setPostViews(get_the_ID()); ?>;
  }

 Anzeige der Meist gelesenen Artikel

Zur Anzeige der meist gelesen Artikel bietet sich die Sidebar an, daher habe ich hier den Code für ein kleines aber nützliches Widget welches man über die Pluginverwaltung einspielt und aktiviert.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
/*
Plugin Name: Last_Month_Most_Viewed_Posts
Plugin URI: http://calyrium.org
Description: Dieses Plugin erstellt ein Widget für die WordPress Sidebar
Author: Sebastian Preisner
Version: 1.1
Author URI: http://calyrium.org
*/
 
function most_view_display_widget($args) {
    extract($args);
 
    $tage = '30';
    $artikel = '5';
    // Filterfunktion erstellen
        function filter_where( $where = '' ) {
            // Artikel der letzten 30 Tage (xx days koennen beliebig geaendert werden.)
            $where .= " AND post_date &gt; '" . date('Y-m-d', strtotime('-$tage days')) . "'";
            return $where;
        }
    echo $before_widget;
    echo $before_title;?&gt;Top $artikel der letzten $tage Tage&lt;?php echo $after_title;
    echo "&lt;ul&gt;";
    // Filter aktivieren
    add_filter( 'posts_where', 'filter_where' );
        // Abfrage starten
        $query = new WP_Query( array('showposts' =&gt; '$artikel', 'orderby' =&gt; 'meta_value_num', 'meta_key' =&gt; 'views', 'order' =&gt; 'DESC', 'category__not_in' =&gt; array(1799) ) );
        while ( $query-&gt;have_posts() ) : $query-&gt;the_post();
            $views = get_post_meta($post-&gt;ID, 'views');
            echo "&lt;li&gt;";
            echo "&lt;a href='"; echo get_permalink(); echo "'&gt;"; echo get_the_title(); echo "&lt;/a&gt;";
            echo "&lt;/li&gt;";
        endwhile;
    echo "&lt;/ul&gt;";
    echo $after_widget;
    // Filter deaktivieren (Wichtig!!)
    remove_filter( 'posts_where', 'filter_where' );
 
        /**
	 * Sanitize widget form values as they are saved.
	 *
	 * @see WP_Widget::update()
	 *
	 * @param array $new_instance Values just sent to be saved.
	 * @param array $old_instance Previously saved values from database.
	 *
	 * @return array Updated safe values to be saved.
	 *
	public function update( $new_instance, $old_instance ) {
		$instance = array();
		$instance['title'] = strip_tags( $new_instance['title'] );
                $instance['number'] = strip_tags( $new_instance['number']);
		return $instance;
	}
 
        // Back-End Einstellungen
        public function form( $instance ) {
        if ( isset( $instance[ 'title' ] ) ) {
			$title = $instance[ 'title' ];
		}
		else {
			$title = __( 'New title', 'text_domain' );
		}
        if (isset( $instance[ 'number'] ) ) {
                        $number = $instance[ 'number' ];
        }
            else {
                $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 esc_attr( $title ); ?&gt;" /&gt;
                &lt;label for="&lt;?php echo $this-&gt;get_field_id( 'number' ); ?&gt;"&gt;&lt;?php _e( 'Anzahl:' ); ?&gt;&lt;/label&gt;
                &lt;input class="widefat" id="&lt;?php echo $this-&gt;get_field_id( 'number'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name( 'nubmber'); ?&gt;" type="text" value="&lt;?php echo esc_attr( $number ); ?&gt;" /&gt;
		&lt;/p&gt;
		&lt;?php 
 
        } */
}
wp_register_sidebar_widget(
    'mostview_lastmonth_1',        // your unique widget id
    'Most view last month',          // widget name
    'most_view_display_widget',  // callback function
    array(                  // options
        'description' =&gt; 'Zeigt die am häufigsten aufgerufenen Artikel des letzten Monats'
    )
);

 

 

Was denn nun?

Da ich diesen Blog öffentlich zur Verfügung stelle wollte ich auch kurz einführend erklären was ich mir dabei denke. Jeden neuen Tag stehe ich vor neuen Problemen und finde Lösungen für diese. Auf der Suche nach den Lösungen durchforste ich haufenweise Blogs und Webseiten die ich meist über Google finde. Leider ist nicht immer die Lösung an nur einem Ort versteckt oder man stößt auf andere interessante Dinge die man evtl. mal benötigen könnte. Zum gegebenen Zeitpunkt kann ich mich dann zwar noch dran errinern das es dazu eine Lösung gegeben hat, weiß jedoch nicht mehr wo und genau dieses Problem möchte ich hiermit in die Hand nehmen.

Da ich einige Webprojekte betreue und mich sehr für das Thema Interessiere bin ich auch viel darüber am Lesen, leider ist es nicht möglich alles was interessant ist in Lesezeichen zu organisieren. Nun ist meine Überlegung die, das ich einfach alles was ich interessant finde in Artikel Speicher und zu gegebener Zeit in Angriff nehme. Dabei möchte ich mir das Thema anschauen und aufschreiben was ich raus gefunden habe. Was ich daran interessant finde, für was ich es verwenden könnte und ob es alternativen gibt.
Des weiteren möchte ich mir hier eine kleine Gedankenstütze aufbauen um in Zukunft zeit zu sparen denn viele meiner Probleme habe ich schon mal gelöst und weiß nur nicht mehr wo ich die Lösung gefunden habe oder ich weiß nicht mehr wie ich etwas umgesetzt habe und so weiter.

Somit soll diese Seite in erster Linie ein Nachschlagewerk für mich sein mit dem ich Zeit sparen möchte. Ich stelle mein Nachschlagewerk öffentlich zur Verfügung da ich hoffe damit hier und da mal jemanden helfen zu können. Ich werde viele Links zu anderen Webseiten veröffentlichen und freue mich natürlich auch über Kommentare die andere Lösungen vorschlagen. Also viel Spaß beim lesen.