English Personal ramblings about Graphic, Webdesign, Inspiration. Adobe & WP
Czech Písání o Grafice, Webdesignu, Inspirace. Adobe & WP

Wordpress – Widgety a jejich ostylovaní

Widgety (zápis platí pro Wordpress v2.2.2)

V této verzi jsou již integrovány widgety pro sidebar (postraní lišta), podíváme se podrobněji na způsob jejich použití a popíšeme si jak je správně ostylovat pomocí CSS. V adresáři tématu máte soubor functions.php otevřete jej, hned na začátku vydíme definici co bude před a za widgetem, titulkem widgetu.

PHP:
  1. <br />
  2. if ( function_exists('register_sidebar') )<br />
  3. register_sidebar(array(<br />
  4. 'before_widget' => '<br />
  5. <li id="%1$s" class="widget %2$s">',<br />
  6. 'after_widget' => '</li&>',<br />
  7. 'before_title' => '<br />
  8. <h2 class="widgettitle">',<br />
  9. 'after_title' => '</h2>
  10. <p>',</p>
  11. <p>

1) Pokud vystačíte s tím že všechny prvky postraní lišty budou stylovány jedinou definicí, upravte následující nastavení a vložte definici třídy .bar do souboru style.css.

Definice třídy .bar, přidejte do souboru style.css.

CSS:
  1. <br />
  2. .bar {<br />
  3.     padding: 5px 5px 5px 5px;<br />
  4.     background: url('images/bar.jpg') no-repeat;<br />
  5.     color: White<br />
  6.   }<br />

PHP:
  1. </p>
  2. <p>if ( function_exists('register_sidebar') )<br />
  3. register_sidebar(array(<br />
  4. 'before_widget' => '<br />
  5. <div class="bar">',<br />
  6. 'after_widget' => '</div>
  7. <p>',<br />
  8. 'before_title' => '<br />
  9. <h2>',<br />
  10. 'after_title' => '</h2>
  11. <p>',<br />
  12. ));<br />

Přejděte k adresáři /wp-includes/ otevřete soubor widgets.php a výše provedené změny reflektujte i zde:

PHP:
  1. </p>
  2. <p>$defaults = array(<br />
  3. 'name' => sprintf(__('Sidebar %d'), $i ),<br />
  4. 'id' => "sidebar-$i",<br />
  5. 'before_widget' => '<br />
  6. <div class="bar">',<br />
  7. 'after_widget' => '</div>
  8. <p><br />',<br />
  9. 'before_title' => '<br />
  10. <h2>',<br />
  11. 'after_title' => '</h2>
  12. <p>',<br />
  13. );</p>
  14. <p>

2) Pokud potřebujeme některé prvky postraní lišty ostylovat jinou definicí, budeme muset tato nastavení reflektovat jak v souboru widgets.php tak v jednotlivých souborech widgetů daných pluginů. Následuje příklad, jednotlivé funkce ze souboru widgets.php upravíme rovnou, přidáme CSS třídu .bar

PHP:
  1. <br />
  2. function wp_widget_meta($args) {<br />
  3.     extract($args);<br />
  4.     $options = get_option('widget_meta');<br />
  5.     $title = empty($options['title']) ? __('Meta') : $options['title'];<br />
  6. ?><br />
  7.         <?php echo $before_widget; ?></p>
  8. <div class="bar"><p><?php echo $before_title . $title . $after_title; ?></p>
  9. <ul>
  10.             <?php wp_register(); ?></p>
  11. <li><?php wp_loginout(); ?></li>
  12. <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php echo attribute_escape(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
  13. <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo attribute_escape(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
  14. <li><a href="http://wordpress.org/" title="<?php echo attribute_escape(__('Powered by WordPress, state-of-the-art semantic personal publishing platform.')); ?>">WordPress.org</a> <small>(<a href="http://acci.cz/wordpress" title="Stáhněte si WordPress v češtině">česká verze</a>)</small></li>
  15. <p>   <?php wp_meta(); ?>
  16.             </ul>
  17. </div>
  18. <p>  <?php echo $after_widget; ?><br />
  19. <?php<br />
  20. }</p>
  21. <p>

Podobně učiníme s externími widgety, jedině tak budeme moci například pro Event Calendar použít třídu jinou.

PHP:
  1. <br />
  2.   /** Event Calendar widget. */<br />
  3.   function ec3_widget_cal($args)<br />
  4.   {<br />
  5.     extract($args);<br />
  6.     $options = get_option('ec3_widget_cal');<br />
  7.     echo '<br />
  8. <div class="otherbar">';<br />
  9.     echo $before_widget . $before_title;<br />
  10.     echo ec3_default_string($options['title'],'Kalendář');<br />
  11.     echo $after_title;<br />
  12.     ec3_get_calendar();<br />
  13.     echo '</div>
  14. <p>';<br />
  15.     echo $after_widget;<br />
  16.   }<br />

Související:

Jak vložit obrázek / odkaz do widgetu?

Share and Enjoy:

  • Digg
  • del.icio.us
  • Facebook
  • FriendFeed
  • Google Bookmarks
  • Live
  • LinkedIn
  • Mixx
  • MySpace
  • Netvouz
  • Ping.fm
  • SphereIt
  • StumbleUpon
  • Technorati
  • Twitter
6. 9. 2007 9.00
This entry was posted on Thursday, September 6th, 2007 at 9.00 and is filed under CSS, Developer, Tips, Wordpress. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
If you like this post, you can grab our RSS or you can subscribe by Email.
Similar Posts:

No Comments here, be first!!!

Leave a Reply

You must be logged in to post a comment.


Top Phire Base (C) 2002-2010 | WPWebHost | Sitemap
WordPress 54 queries. 1.828 seconds.