Es will einfach nicht!

Seit ein paar Tagen quält mich ein Problem: Jetzt gebe ich es auf. Worum es geht..? Gut also der Reihe nach: Nico hat mich in den Kommentaren auf die Idee gebracht, ein Plugin zu schreiben, das für bestimmte Seiten ein anderes Theme anzeigt, als für den Rest des Blogs. Gesagt getan, relativ schnell hatte ich folgendes Gerüst:

<?php
$nr_pt_themed_PP = array('page2' => 'Default', 'post5' => 'Constructor');

function nr_pt_get_theme_for($page_or_post)
{
	global $nr_pt_themed_PP;

	if(array_key_exists($page_or_post, $nr_pt_themed_PP))
		return $nr_pt_themed_PP[$page_or_post];
	else
		return '';
}

//Helper. Returns the option from the selected theme, or the default value, if no theme selected
function nr_pt_GetOptionOrDefault($default, $option)
{
	if(is_page() || is_single())
		{
			global $post;
			$theme = nr_pt_get_theme_for($post->post_type . $post->ID);

			if(empty($theme))
				return $default; //no filtering
			else
			{
				$all_themes = get_themes();
				return $all_themes[$theme][$option];
			}
		}
		else
			return $default;
}

function nr_pt_filter_template($template)
{
	return nr_pt_GetOptionORDefault($template, 'Template');
}

function nr_pt_filter_stylesheet($stylesheet)
{
	return nr_pt_GetOptionORDefault($stylesheet, 'Stylesheet');
}

function nr_pt_filter_template_dir($template_dir)
{
	return nr_pt_GetOptionORDefault($template_dir, 'Template Dir');
}

function nr_pt_filter_stylesheet_dir($stylesheet_dir)
{
	return nr_pt_GetOptionORDefault($stylesheet_dir, 'Stylesheet Dir');
}
//Filters
add_filter('template', 'nr_pt_filter_template', 1); //1 is the priority, so this filter is the first!
add_filter('stylesheet', 'nr_pt_filter_stylesheet', 1);
add_filter('stylesheet_directory ', 'nr_pt_filter_stylesheet_dir', 1);
add_filter('template_directory ', 'nr_pt_filter_template_dir', 1);
?>

Weiterlesen

Änderungen am Blog

Nachdem ich ja schon WordPress geupdatet habe, habe die Gelegenheit aber auch gleich mal genutzt, und den Blog hier ein wenig modernisiert. So sehr ich mein altes Theme (freshy) auch mag, langsam hat man sich dran sattgesehen. Zudem finde ich ein helles Theme einfach schöner, und etwas breiter könntes es auch sein. Und siehe da: Es gibt so ein Theme. Es nennt sich Twenty Ten, und ist das neue WordPress Standart Theme. So ganz hat es mir dann doch nicht gefallen, und ich habe ein paar Sachen umgebaut (z.B. die Suchbox oben), besonders der CSS Teil ist ziemlich geraten, da meine CSS Kenntnisse sehr bescheiden sind 😉 Wenn irgendein Guru da noch Fehler sieht, immer her damit. Leider fehlen noch ein paar StyleSheets, so dass z.B. Downloads Link momentan einfache Links sind.

Aber nicht nur optisches hat sich geändert: Ich will auch ein paar alte Seiten umbauen. So standen z.B. die „Über diesen Blog“ und „Technische Informationen“ Seiten auf meiner Abschussliste. Eigentlich will ich die „Projekte“-Seite auch mal umbauen, und auch die Seiten für die eigentlichen Projekte gefallen mir noch nicht wirklich. Momentan sind die noch sehr Blog lastig, ich würde gerne mehr was wie das hier haben. Kennt jemand eine Möglichkeit (Plugin?) sowas in einen WordPress-Blog einzubauen? Ich denke, die neuen Menüs aus WP 3.0 können mir da helfen…

Weiterlesen