Hi Forum,
ich versuche eine Übersichtsseite von Mitarbeitern zu erstellen. Ich bin absoluter WordPress-Neuling, habe mir aber das Video2Brain-Tutorial von Olaf Baumann reingezogen.
Versucht habe ich nach der von Dirk Baranek beschriebenen Methode 'HowTo: Child Pages mit Artikelbild auflisten' auf http://www.admartinator.de/2012/01/30/how…bild-auflisten/ vorzugehen. Ich bremse mich aber immer selbst aus und habe Schwierigkeiten diese Methode zu verstehen...
bisher gemacht:
Child-Theme mit dem Namen karstenschildtheme angelegt. Als Nächstes habe ich, benutzerdefinierte Inhaltstypen (custom posttypes) angelegt; einen für Mitarbeiter und einen für News. Zusätzlich habe ich noch jeweils eine statische Seite 'Mitarbeiter' und 'News' angelegt.
In dem custom post type 'mitarbeiter' lassen sich prima Mitarbeiter anlegen, jedoch habe ich keine Ahnung wie ich diese auf der statischen Seite Mitarbeiter in Übersichtsform darstelle. Dann habe ich die Anleitung von Dirk Baranek gefunden und gelesen, dass er das Plugin 'get the image' nutzt. Also habe ich es auch installiert.
Zu finden ist das ganze auf http://dev.npire.de/zarth/wordpress/, Mitarbeiter sind exemplarisch zu finden auf http://dev.npire.de/zarth/wordpress/mitarbeiter/christa/.
Template Theme: 'Twenty Twelve' durch das Childtheme 'karstenschildtheme' verschlimmbessert, WordPress 3.5, Plugins sind: 'Antispam Bee'
'Better WP Security'
'get the image'.
Dateien in meinem Childtheme:
style.css:
/* * Theme Name: KarstensChildTheme * Template: twentytwelve */@import url("../twentytwelve/style.css");#paging { width: 501px; height: 30px; list-style: none;}#paging li { float: left; height: 30px; text-align: center;}#paging li.prev,#paging li.next { width: 80px;}#paging li.pages { width: 301px; margin: 0 20px;}#paging li.pages a { margin: 0 5px; padding: 5px; display: inline-block; background: #ccc;}#paging li.pages a.active { padding: 4px; border: 1px solid #ccc; background: #fff;}
So ziemlich alles ist von Sergej Müller http://playground.ebiene.de/wordpress-pagebar-pluginlos/.
allemployees.php:
<?php/*Template Name: All Employees Page*/?>
<ul id="paging"> <li class="prev"> <?php previous_posts_link('Neuere Beiträge') ?> </li> <?php if (function_exists('sm_paging_bar')) { ?> <li class="pages"> <?php sm_paging_bar() ?> </li> <?php } ?> <li class="next"> <?php next_posts_link('Ältere Beiträge') ?> </li></ul>
Auch von der Seite von Sergej Müller.
functions.php:
<?php//custom post type mitarbeiter erzeugenadd_action( 'init', 'create_mitarbeiter_type' );add_action( 'init', 'create_news_type' );
function create_mitarbeiter_type() { register_post_type( 'mitarbeiter', array( 'labels' => array( 'name' => 'Mitarbeiter', 'add_new_item' => 'Mitarbeiter hinzufügen', 'edit_item' => 'Mitarbeiter bearbeiten', 'all_items' => 'Alle Mitarbeiter anzeigen' ), 'public' => true, 'menu_position' => 5, 'hierarchical' => true, 'supports' => array( 'title', 'editor', 'thumbnail' ) ) );}
function create_news_type() { register_post_type( 'news', array( 'labels' => array( 'name' => 'News', 'add_new_item' => 'News hinzufügen', 'edit_item' => 'News bearbeiten', 'all_items' => 'Alle News anzeigen' ), 'public' => true, 'menu_position' => 5, 'hierarchical' => true, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ) ) );}
add_theme_support( 'post-formats', array( 'aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat' ) );
set_post_thumbnail_size( 150, 150 );
/*** Blätterfunktion im Blog** @author Sergej Müller* @param integer $range Links um aktuelle Seite [optional]*/
function sm_paging_bar($range = 4) { /* Init */ $count = @$GLOBALS['wp_query']->max_num_pages; $page = (int)get_query_var('paged'); $ceil = ceil($range / 2); /* Kein Paging? */ if ($count <= 1) { return false; } /* Erste Seite? */ if (!$page) { $page = 1; } /* Limit errechnen */ if ($count > $range) { if ($page <= $range) { $min = 1; $max = $range + 1; } elseif ($page >= ($count - $ceil)) { $min = $count - $range; $max = $count; } elseif ($page >= $range && $page < ($count - $ceil)) { $min = $page - $ceil; $max = $page + $ceil; } } else { $min = 1; $max = $count; } /* Ausgabe der Links */ if (!empty($min) && !empty($max)) { for($i = $min; $i <= $max; $i++){ echo sprintf( '<a href="%s"%s>%d</a>', get_pagenum_link($i), ($i == $page ? ' class="active"' : ''), $i ); } }}
?>
und schließlich page-mitarbeiter.php:
<?php
/**
* Template Name: mitarbeiter
*
* The template for displaying all pages.
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other 'pages' on your WordPress site will use a
* different template.
*
* @package WordPress
* @subpackage Twenty_Twelve
* @since Twenty Twelve 1.0
*/
get_header(); ?>
<?php
$parent = $post->ID;
$args = array(
'post_type' => 'page',
'post_parent' => $parent,
// Definition, wieviel Bilder auf der Seite angezeigt werden, hier 10
'posts_per_page' => 10,
'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1),
);
query_posts($args);
while (have_posts()) : the_post();
?>
// Anzeige des Bildes mit Get The Image
<?php get_the_image( array( 'size' => 'full' ) ); ?>
// Name inkl. Link, Custom Field
<p class="titel_bild"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> - <?php echo get_post_meta($post->ID, 'nerdsub', true); ?></p>
<?php endwhile; ?>
Alles anzeigen
Ich habe keine Ahnung wie es weiter gehen soll. Wenn ihr Lust habt, mir zu Helfen, wäre ich sehr dankbar.