WordPress Top 3 Must Have Plugins, 1#

Ich habe mich die drei letzten Monate intensiv mit WordPress auseinandergesetzt. Meine vorherige Seite, sowie die jetzige Seite (Designixx 2.0) und DJ Hawey’s Homepage basieren auf WordPress. Im Moment bin ich auch an einem neuen, grösseren Projekt dran… und auch dies wird auf WordPress umgesetzt.

Um in WP ein Projekt zu starten, braucht es meistens eine Basis von Plugins. Natürlich geht es auch ohne, aber wer will schon selber WP mühsam erweitern und die Stärke von WP (die Community) nicht nutzen? Darum will ich euch nicht vorenthalten, wie meine Top 3 Must Have Plugin Liste aussieht.

Magic Fields 2

Meiner Meinung ist dies das mächtigste Plugin und von WP Projekten nicht wegzudenken. Leider habe ich es erst vor einigen Wochen entdeckt und darum kam es bei meiner Homepage noch nicht zum Einsatz. Hier benutze ich halt noch eine Kombination aus „Custom Post Types“ und „More Fields“.

Was ist Magic Fields 2 überhaupt?
Es ist ein einfaches Tool, um sogenannte Custom Post Types, Custom Fields und Custom Taxonomies zu erstellen und zu verwalten. Das heisst, man kann per Knopfdruck für WordPress weitere individuelle Inhaltsarten erstellen und diese mit eigenen Feldern erweitern.
Ein Beispiel: Ich will eine Seite erstellen, die mit Musik zu tun hat. Dazu gehören Reviews von Konzerten, Reviews von Alben, Interviews mit verschiedenen Bands und natürlich eine Agenda mit den nächsten Konzerten. Das alles sind einzelne neue Inhaltsarten, da jede Art mit anderen Infos abgefüllt werden.

  • Konzert Review (Custom Post Type)
    • Ort (Custom Field)
  • Album Review (Custom Post Type)
    • Band (Custom Field)
    • Album (Custom Field)
  • Interview (Custom Post Type)
    • Band (Custom Field)
    • Kurzbeschreibung (Custom Field)
  • Agenda (Custom Post Type)
    • Band (Custom Field)
    • Vorbands (Custom Field)
    • Ort (Custom Field)
    • Link (Custom Field)

Natürlich kann man die Custom Fields noch genauer parametrisieren wie z.B. Ob es ein mandatory Field sein muss, was für eine Art (Audio, Datepicker, Text, File, Image,…), Hilfetext für den Author etc.

Um die Custom Fields des Posts im Loop auszugeben braucht man den einfachen Befehl get-Befehl. Beispiel Custom Agenda Loop, darstellung der nächsten Konzerte in einer Tabelle.

Custom Loop über Custom Post Type „Agenda“:

<?php 
		
		$searchparam = $_POST["searchparam"];
		$today = date('Y-m-d');
		query_posts(array(
		'post_type' => 'agenda',
		'posts_per_page' => 30,
		'caller_get_posts' => 30,
		'paged' => false,
		'meta_key' => 'details_datum',
		'orderby' => 'meta_value',
		'order' => 'ASC',
		'startswith' => $searchparam,
	    'meta_query' => array(
			array(
				'key' => 'details_datum',
				'meta-value' => $value,
				'value' => $today,
				'compare' => '>=',
				'type' => 'CHAR'
			)
		)
		));
		
		?>		
			<?php if (have_posts()) : $postcount = 0;
					while ( have_posts() ) : the_post(); ?>
										
								<tr>  
									<?php if ( get('details_link') ) { ?>
									<td><a href="<?php echo get('details_link'); ?>" style="display:block"><?php echo get('details_datum'); ?></a></td>  
									<td><a href="<?php echo get('details_link'); ?>" style="display:block"><?php echo get('details_band_titel'); ?></a></td> 
									<td><a href="<?php echo get('details_link'); ?>" style="display:block"><?php echo get('details_support'); ?></a></td>
									<td><a href="<?php echo get('details_link'); ?>" style="display:block"><?php echo get('details_location'); ?></a></td>
									<td><a href="<?php echo get('details_link'); ?>" style="display:block"><img src="/wp-content/link.png"></a></td>
									<?php } else { ?>
									<td><?php the_date("d.m.Y"); ?></td>  
									<td><?php echo get('details_band_titel'); ?></td> 
									<td><?php echo get('details_support'); ?></td>
									<td><?php echo get('details_location'); ?></td>
									<td></td>
									<?php } ?>
									
								</tr>  
						
					<?		
					endwhile; ?>
					
					</tbody>  
						</table> 
					
					<div class="clearer"></div></div>
					
			<?php else : ?>
		
				<div class="post">    				
		    		<div class="entry">
						<h2 class="title"><?php echo $notfound_title; ?></h2>
						<p><?php echo $notfound_text ?></p>
					</div>
				</div>
		
			<?php endif; ?>

Ausgabe Custom Fields:

<?php if ( get('details_link') ) { ?><a href="<?php echo get('details_link'); ?>"><img alt="" src="/wp-content/link.png" /></a><?php } ?>

Links: