WordCamp DK november 2011
WPML – oversættelse, ikke gratis
Jeg nævnte muligheden for at lave et functions plugin til et tema – her er en god vejledning: WPCandy
...WPML – oversættelse, ikke gratis
Jeg nævnte muligheden for at lave et functions plugin til et tema – her er en god vejledning: WPCandy
...Hvor svært kan det være?
Tak til WPBeginner for denne infographic. Den er ikke ny, men stadig gyldig.
...![]()
kan fjernes ved at indsætte følgende i functions.php:
add_filter( 'show_admin_bar', '__return_false' );
...
Den ‘sædvanlige’ kodestump i single.php laver fine links til nyere og ældre indlæg, men tager ikke højre for at indlæggene er i forskellige kategorier. D.v.s. det fungerer fint til en blog, hvor kronologien er vigtigere end emnerne…
Her er WordPress’ standard navigation:
<div class="navigation">
<div class="alignleft"><?php previous_post('« « %', 'Ældre indlæg: ', 'yes'); ?></div>
<div class="alignright"><?php next_post('% » » ', 'Nyere indlæg: ', 'yes'); ?></div>
</div> <!-- end navigation -->
Hvis du derimod har en WordPress hjemmeside, hvor du gerne vil have mulighed for at bladre mellem indlæggene i en kategori ad gangen, så kan du i stedet bruge denne kode:
<div class="navigation">
<div class="alignleft"> <?php previous_post_link('%link', '%title', TRUE); ?></div>
<div class="alignright"><?php next_post_link('%link', '%title', TRUE); ?></div>
</div> <!-- end navigation -->
Bemærk, at den skal være in the loop for at fungere, som f.eks. her:
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<div class="navigation">
<div class="alignleft"> <?php previous_post_link('%link', '%title', TRUE); ?></div>
<div class="alignright"><?php next_post_link('%link', '%title', TRUE); ?></div>
</div> <!-- end navigation -->
<div class="entry-content">
Den virker bedst, hvis du holder dig til at hvert indlæg kun placeres i én kategori – til gengæld kan du jo bruge alle de tags du har lyst til!
...
‘Det er nemt nok’, sagde jeg. Jeg har jo styr på det der med at lave WordPress Child Themes. Så smadrede jeg lige et template. ‘Nå, vi uploader bare lige den gamle functions.php igen og så ordner jeg det senere’.
Her til morgen fik jeg det på plads. Jeg skynder mig at notere fremgangsmåden, så jeg kan finde den næste gang jeg får brug for den.
register_sidebar( array(
'name' => __( 'My Widget Area', 'My Child Theme' ),
'id' => 'xtra-widget-area',
'description' => __( 'New widget area', 'My Child Theme' ),
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
‘My Widget Area’, ‘My Child Theme’, ‘New widget area’ skal naturligvis erstattes med de relevante betegnelser, inden kodestumpen tilføjes i functions.php-filen i et child theme.
<?php
register_sidebar( array(
'name' => __( 'My Widget Area', 'My Child Theme' ),
'id' => 'xtra-widget-area',
'description' => __( 'New widget area', 'My Child Theme' ),
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
PS – Det er med vilje at jeg har udeladt den sidste del af koden: ?> da functions.php fungerer fint uden, og fordi bare et enkelt lille usynligt mellemrumsregn efter ‘?>’ kan betyde at dit template ikke længere virker.
Vigtigt – sørg for at have ftp-adgang til din WordPress-installation. Hvis du laver en fejl i din functions.php, kan du hurtigt rette den ved enten at slette den functions-php fil du netop har lavet, eller ved at overskrive den med den oprindelige functions.php.
...Der skal såmænd bare en stump kode til, i en iframe:
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink($post->ID)); ?> &layout=standard&locale=da_DK&show_faces=false&width=450&action=like&colorscheme=light&height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="false"></iframe>
OBS – husk at fjerne evt. linjeskift, hvis du kopierer koden ind i dit eget template!
Et par ændringer i forhold til den kodestump Facebook leverer:
locale=da_DK sørger for den danske oversættelsehref=< ?php echo urlencode(get_permalink($post->ID)); ?> sørger for at knappen bliver dynamisk; d.v.s. at man kan fortælle sine facebook-venner at man synes om et enkelt blogindlæg, ikke hele bloggen.OPDATERING: Og her er så html5 udgaven:
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/da_DK/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="<?php echo urlencode(get_permalink($post->ID)); ?>" data-send="false" data-width="530" data-show-faces="false" data-font="trebuchet ms" ></div>
...
Hvis WordPress ikke er installeret i roden af dit domæne, kan der opstå problemer med visse plugins, som ikke kan ‘finde vej’. En løsning kan være at lave en lille enkel rettelse i plugin’et:
< ?php bloginfo('url') ?>
erstattes med
< ?php bloginfo('wpurl') ?>
Faktisk burde alle plugin-udviklere vide at bloginfo(‘wpurl’) svarer til “WordPress address (URL)” og bloginfo(‘url’) svarer til “Site address (URL)” – og at wpurl virker uanset om disse to indstillinger er ens eller ej.
...
Som sædvanlig var det skønt at være med til at holde Geek Girl Meetup – denne gang med temaet WordPress. What’s not to like? Mine oplæg handlede bl.a. om at bruge WordPress Child Themes og brugen af functions.php.
Mine slides ligger på slideshare.net .
...Det hænder at en bruger glemmer sit brugernavn og adgangskode til en WordPress-installation. Indimellem sker endda at det dertil indrettede ‘Mistet dit kodeord?’ link ikke virker eller at brugeren ikke længere har adgang til den emailkonto, der blev anvendt da WordPress blev installeret.
Også her sørger WordPress Codex for hjælp – via f.eks. phpMyAdmin og ftp er det muligt at ændre password, så brugeren igen får adgang til WordPress. Det kan være godt at vide!
...