Codecandies

Das Weblog von Nico Brünjes.

Indi­vi­du­elle Arti­kel­ge­stal­tung mit WordPress

Indi­vi­du­elle Arti­kel­ge­stal­tung bedeutet technisch ja erstmal nur, dass man einem bestimmten Artikel ein spezielles CSS mitgeben muss. Das ist natürlich eine hervorragenden Aufgabe für ein WordPress-Plugin, erstaunlicherweise habe ich nur ein passendes gefunden und das tendierte dazu, die Stylesheet-URL regelmäßig wieder zu vergessen, war also Müll.

So habe ich mir kurzerhand selbst geholfen und ein paar Funktionen in die functions.php gepackt, die ein Metafeld addCSS auslesen und in den Head des jeweiligen Artikel pumpen.

// return or print the value of metafield with key 
function get_custom_field_value($key, $output = false) {
    global $post;
    if ( function_exists('get_post_meta') ) {
        $value = get_post_meta($post->ID, $key, true);
        if($output == false) {
            return $value; 
        } else {
            echo $value;
        }
    }
}
// enqueue stylesheet for individual styled articles
function post_add_stylesheet() {
    global $wp_query;
    $path = WP_CONTENT_URL . '/articlestyles/';
    $this_post = $wp_query->get_queried_object();
    if (is_object($this_post)) {
        $id = $this_post->ID;
        if (function_exists('get_post_meta') && get_post_meta($id, 'extraCss', true) != '') {
            wp_enqueue_style( 'extraCss', $path . get_post_meta($id, 'extraCss', true), array(), false, 'screen' ); 
        }
    }
}
add_action('wp_print_styles', 'post_add_stylesheet');

Ich lade die jeweiligen Stylesheets in einen speziellen Ordner articlestyles unterhalb von wp-content. Dort lege ich auch die Bilder hin, die ich als Hintergrund nutze, damit sie sich aus dem CSS leichter referenzieren lassen. Im Artikelanlagedialog brauch ich dann nur ein benutzerdefiniertes Feld ‘extraCss’ anzulegen und den Namen des Stylesheets dort einzutragen. Fertig.

Bei Coldheat gibt es übrigens ein interessante Liste mit gestalteten Artikeln und Blogs, die individuelle Artikelgestaltung betreiben.

Ein Kommentar

  1. Ich benutze art direction (aber auch noch nicht lange). Das fügt ein Textfeld an, in das man css-code schreiben kann. Dieser code erscheint dann auch im head.

Ein Ping

  1. [...] Link zum Artikel Individuelle Artikelgestaltung mit WordPress habe ich schon vor Ewigkeiten gespeichert. Nun habe ich die Codezeilen von Nico Brünjes auch [...]