WordPress - Themes: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) (→Child Themes) |
Flinh1 (Diskussion | Beiträge) |
||
| (22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | <div align="right"><big>'''[https://flinkwiki.de/index.php?title=Kategorie:Alle_Seiten Seitenübersicht]'''</big></div> | ||
| + | <div align="right"><big>'''[[WordPress|Zur Hauptseite WordPress]]'''</big></div> | ||
| + | |||
| + | |||
== Grundgerüst == | == Grundgerüst == | ||
''style.css'': | ''style.css'': | ||
<nowiki> | <nowiki> | ||
| − | |||
/* | /* | ||
Theme Name: Twenty Fifteen | Theme Name: Twenty Fifteen | ||
| Zeile 20: | Zeile 23: | ||
*/ | */ | ||
| − | |||
| − | |||
</nowiki> | </nowiki> | ||
| Zeile 34: | Zeile 35: | ||
---- | ---- | ||
| + | |||
== Template Tags == | == Template Tags == | ||
| Zeile 136: | Zeile 138: | ||
* https://codex.wordpress.org/Child_Themes | * https://codex.wordpress.org/Child_Themes | ||
| − | Es | + | Es muss im folgende Verzeichnisse angelegt werden: |
| − | # | + | # Im Ordner ''themes''as Child-Theme-Verzeichnis (''meintheme-child''), darin die Dateien |
| − | # style.css | + | # ''style.css'' und |
| − | # functions.php | + | # ''functions.php'' |
Hier der Dateikopf für ''style.css'': Wichtig ist der Eintrag ''Template''. Beispiel: ''twentyfifteen-child'': | Hier der Dateikopf für ''style.css'': Wichtig ist der Eintrag ''Template''. Beispiel: ''twentyfifteen-child'': | ||
| Zeile 145: | Zeile 147: | ||
/* | /* | ||
Theme Name: Twenty Fifteen Child | Theme Name: Twenty Fifteen Child | ||
| − | |||
Description: Twenty Fifteen Child Theme | Description: Twenty Fifteen Child Theme | ||
| − | Author: | + | Author: Heinrich Flink |
| − | |||
Template: twentyfifteen | Template: twentyfifteen | ||
Version: 1.0.0 | Version: 1.0.0 | ||
| − | |||
| − | |||
| − | |||
| − | |||
*/ | */ | ||
| + | |||
| + | @import url("../twentyfifteen/style.css"); | ||
</nowiki> | </nowiki> | ||
---- | ---- | ||
| + | Hier das Grundgerüst für ''functions.php'': Wichtig ist der Eintrag ''$parent_style = 'twentyfifteen-style';''. Beispiel für ''twentyfifteen-child'': | ||
| + | <nowiki> | ||
| + | <?php | ||
| + | function my_theme_enqueue_styles() { | ||
| + | |||
| + | $parent_style = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme. | ||
| + | wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' ); | ||
| + | wp_enqueue_style( 'child-style', | ||
| + | get_stylesheet_directory_uri() . '/style.css', | ||
| + | array( $parent_style ), | ||
| + | wp_get_theme()->get('Version') | ||
| + | ); | ||
| + | } | ||
| + | add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); | ||
| + | ?> | ||
| + | </nowiki> | ||
| + | |||
| + | ---- | ||
| + | == Footer-Menü == | ||
| + | |||
| + | Dies ist ein Beispiel für ein manuell erstelltes Fußzeilen-Menü. Idealerweise wird es in einem Child-Theme realisiert. Wenn man kein Child anlegen kann (weil das zugrunde liegende Theme schon ein Child ist), muss man die Eintragungen in die Dateien des "Basis"-Themes vornehmen. Nach einem Update des Themes müssen diese dann von Neuem manuell vorgenommen werden. | ||
| + | |||
| + | * ''style.css'': Dieser Eintrag wird am Ende des Dokuments hinzugefügt. | ||
| + | <nowiki> | ||
| + | .myfooter{ | ||
| + | text-align: center; | ||
| + | margin-left: 40px; | ||
| + | padding:20px 0 | ||
| + | } | ||
| + | |||
| + | .myfooter a{ | ||
| + | color: #5858FA; | ||
| + | } | ||
| + | </nowiki> | ||
| + | |||
| + | |||
| + | * ''footer.php'': Dieser Eintrag muss am Beginn der Codierung stehen. | ||
| + | <nowiki> | ||
| + | <footer><div class="myfooter"><a href="http://example.com/ueber-mich/">Über mich</a> <a href="http://example.com/impressum/">Impressum & Datenschutz</a> <a href="http://example.com/kontakt/">Kontakt</a></div></footer> | ||
| + | </nowiki> | ||
---- | ---- | ||
| Zeile 210: | Zeile 248: | ||
</nowiki> | </nowiki> | ||
| + | ---- | ||
| + | == Beispiel für die Erstellung eines Themes == | ||
| + | |||
| + | Download der Vorlage von http://www.initializr.com/ | ||
| + | |||
| + | ''index.html'' aufteilen auf | ||
| + | * ''header.php'' | ||
| + | * ''index.php'' | ||
| + | * ''sidebar.php'' | ||
| + | * ''footer.php'' | ||
| + | |||
| + | <?php echo get_stylesheet_directory_uri(); ?> | ||
| + | |||
| + | <script src="<?php echo get_stylesheet_directory_uri(); ?>/js"></script> | ||
| + | |||
| + | |||
| + | <nowiki><title> <?php bloginfo('name'); ?> </title></nowiki> | ||
| + | |||
| + | <nowiki><h1 class="title"> <?php bloginfo('name'); ?></h1></nowiki> | ||
---- | ---- | ||
| − | == | + | Website-Namen als Link für die Startseite einrichten: |
| + | <nowiki> | ||
| + | <h1 class="title"> | ||
| + | <a href="<?php bloginfo('url'); ?>"</<> <?php bloginfo('name'); ?> | ||
| + | </h1> | ||
| + | </nowiki> | ||
| + | |||
| + | ---- | ||
| − | + | do_action | |
| − | + | the_excerpt | |
| − | + | add_filter( 'excerpt_more', 'wpdocs_excerpt_more' ); | |
| − | |||
| + | === Links === | ||
| + | * https://www.urbanstudio.de/blog/wordpress-template-dateien-ueberblick/ | ||
| + | * https://wphierarchy.com/ | ||
| + | * https://developer.wordpress.org/themes/basics/the-loop/ | ||
| + | ---- | ||
| + | == Links und Quellen == | ||
| + | * https://codex.wordpress.org/Theme_Development | ||
| + | * https://t3n.de/news/grosse-guide-wordpress-theme-555618/ | ||
| + | * http://wptest.io/ | ||
| + | ---- | ||
Aktuelle Version vom 15. August 2020, 20:41 Uhr
Inhaltsverzeichnis
Grundgerüst
style.css:
/* Theme Name: Twenty Fifteen Theme URI: https://wordpress.org/themes/twentyfifteen/ Author: the WordPress team Author URI: https://wordpress.org/ Description: Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer. Version: 1.9 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: blog, two-columns, left-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready Text Domain: twentyfifteen This theme, like WordPress, is licensed under the GPL. Use it to make something cool, have fun, and share what you've learned with others. */
index.php:
<?php the_post(); the_title();
Template Tags
Conditional Tags
Schlagwörter
Schlagwörter aktivieren
Dieser Code wird in die functions.php des Themes eingefügt (wp-content/themes/<themename>/functions.php).[1]
// add tag support to pages
function tags_support_all() {
register_taxonomy_for_object_type('post_tag', 'page');
}
// ensure all tags are included in queries
function tags_support_query($wp_query) {
if ($wp_query->get('tag')) $wp_query->set('post_type', 'any');
}
// tag hooks
add_action('init', 'tags_support_all');
add_action('pre_get_posts', 'tags_support_query');
Kommentare
-> You will need to define your custom callback function in your theme's functions.php file.
Hier kann man folgende Vorlage entnehmen:
function mytheme_comment($comment, $args, $depth) {
if ( 'div' === $args['style'] ) {
$tag = 'div';
$add_below = 'comment';
} else {
$tag = 'li';
$add_below = 'div-comment';
}?>
<<?php echo $tag; comment_class( empty( $args['has_children'] ) ? '' : 'parent' ); ?> id="comment-<?php comment_ID() ?>"><?php
if ( 'div' != $args['style'] ) { ?>
<div id="div-comment-<?php comment_ID() ?>" class="comment-body"><?php
} ?>
<div class="comment-author vcard"><?php
if ( $args['avatar_size'] != 0 ) {
echo get_avatar( $comment, $args['avatar_size'] );
}
printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>' ), get_comment_author_link() ); ?>
</div><?php
if ( $comment->comment_approved == '0' ) { ?>
<em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ); ?></em><br/><?php
} ?>
<div class="comment-meta commentmetadata">
<a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ); ?>"><?php
/* translators: 1: date, 2: time */
printf(
__('%1$s at %2$s'),
get_comment_date(),
get_comment_time()
); ?>
</a><?php
edit_comment_link( __( '(Edit)' ), ' ', '' ); ?>
</div>
<?php comment_text(); ?>
<div class="reply"><?php
comment_reply_link(
array_merge(
$args,
array(
'add_below' => $add_below,
'depth' => $depth,
'max_depth' => $args['max_depth']
)
)
); ?>
</div><?php
if ( 'div' != $args['style'] ) : ?>
</div><?php
endif;
}
Child Themes
Es muss im folgende Verzeichnisse angelegt werden:
- Im Ordner themesas Child-Theme-Verzeichnis (meintheme-child), darin die Dateien
- style.css und
- functions.php
Hier der Dateikopf für style.css: Wichtig ist der Eintrag Template. Beispiel: twentyfifteen-child:
/*
Theme Name: Twenty Fifteen Child
Description: Twenty Fifteen Child Theme
Author: Heinrich Flink
Template: twentyfifteen
Version: 1.0.0
*/
@import url("../twentyfifteen/style.css");
Hier das Grundgerüst für functions.php: Wichtig ist der Eintrag $parent_style = 'twentyfifteen-style';. Beispiel für twentyfifteen-child:
<?php
function my_theme_enqueue_styles() {
$parent_style = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get('Version')
);
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
?>
Dies ist ein Beispiel für ein manuell erstelltes Fußzeilen-Menü. Idealerweise wird es in einem Child-Theme realisiert. Wenn man kein Child anlegen kann (weil das zugrunde liegende Theme schon ein Child ist), muss man die Eintragungen in die Dateien des "Basis"-Themes vornehmen. Nach einem Update des Themes müssen diese dann von Neuem manuell vorgenommen werden.
- style.css: Dieser Eintrag wird am Ende des Dokuments hinzugefügt.
.myfooter{
text-align: center;
margin-left: 40px;
padding:20px 0
}
.myfooter a{
color: #5858FA;
}
- footer.php: Dieser Eintrag muss am Beginn der Codierung stehen.
<footer><div class="myfooter"><a href="http://example.com/ueber-mich/">Über mich</a> <a href="http://example.com/impressum/">Impressum & Datenschutz</a> <a href="http://example.com/kontakt/">Kontakt</a></div></footer>
Bilder
Thumbnail: 880x660 Pixel
Troubleshooting
System Status
- PHP Time Limit
zu niedrig eingestellt.
>> In wp-config.php über der Zeile mit "Happy blogging" z. B. folgende Zeile einfügen:
set_time_limit(180);
- PHP Max Input Vars
zu niedrig.
>> Im Document root eine Datei .user.ini anlegen. Hier z. B. folgenden Eintrag hinterlegen:
max_input_vars = 5000; [3]
Notizen
Mindestens notwendig:
index.php
style.css: wichtig Theme Name:
single.php: > einzelne Beiträge
Beispiel für die Erstellung eines Themes
Download der Vorlage von http://www.initializr.com/
index.html aufteilen auf
- header.php
- index.php
- sidebar.php
- footer.php
<?php echo get_stylesheet_directory_uri(); ?>
<script src="<?php echo get_stylesheet_directory_uri(); ?>/js"></script>
<title> <?php bloginfo('name'); ?> </title>
<h1 class="title"> <?php bloginfo('name'); ?></h1>
Website-Namen als Link für die Startseite einrichten:
<h1 class="title">
<a href="<?php bloginfo('url'); ?>"</<> <?php bloginfo('name'); ?>
</h1>
do_action
the_excerpt
add_filter( 'excerpt_more', 'wpdocs_excerpt_more' );
Links
Links und Quellen
|