Jak fungují ve WP obrázky

Konfigurace a změny velikostí, pojmenování, náhledy apod.

„http://www.studiograsshopper.ch/web-development/wordpress-featured-images-add_image_size-resizing-and-cropping-demo/“:http://www.studiograsshopper.ch/web-development/wordpress-featured-images-add_image_size-resizing-and-cropping-demo/

„Mastering Image Optimization »“:http://www.sitepoint.com/mastering-image-optimization-in-wordpress/?utm_medium=email&utm_campaign=SitePoint%20WordPress%20Newsletter%20-%20August%2014%202015&utm_content=SitePoint%20WordPress%20Newsletter%20-%20August%2014%202015+Version+B+CID_7d0c663cb8ee8cb133f33c93f8f475a2&utm_source=CampaignMonitor%20SitePoint&utm_term=Read%20more

Personalizace odběru RSS kanálu

Pro pohodlné čtení nových článků na internetu můžete používat RSS čtečky. S nimi se nemusíte proklikávat obsáhlým seznamem stránek, abyste se podívali, co je nového. Můžete tak pohodlně číst různé články, aniž byste nad jejich hledáním ztráceli příliš mnoho času. Dnes už mohou jejich funkci částečně nahradit sociální sítě jako Google plus nebo Facebook, ale […]

Nejkomentovanější články na webu

Pod některými vašimi články může vzniknout zajímavá diskuze na určité téma. Počet komentářů postupně narůstá a vy byste nějak měli čtenáře upozornit, že „Tady to žije.“ WordPress vám umožní zobrazit pouze nejnovější příspěvky, ale my si vytvoříme widget, který nám umožní zobrazit ty nejkomentovanější. Návod, jak vytvořit uživatelský widget je i zde na webu. Pro samotné zobrazování nejkomentovanější pak stačí použít tento kód:

<ul>
<?php
$result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts WHERE post_status = 'publish'  ORDER BY comment_count DESC LIMIT 0, 5");
foreach ($result as $post) {
setup_postdata($post);
if ($post->comment_count != 0) { ?>
<li><a href="<?php echo get_permalink($post->ID); ?>" title="<?php echo $post->post_title; ?>">
<?php echo $post->post_title; ?></a> (<?php echo $post->comment_count ?>)</li>
<?php }
} ?>
</ul>

Dobře vám poslouží i časové omezení, které zabrání vypisování starý a neaktuálních článků, kde diskuze sice byla živá, ale nyní už skomírá. Stačí nahradit 3. řádek tímto:

$result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_date > INTERVAL -1 YEAR + NOW() ORDER BY comment_count DESC LIMIT 0, 5");

Rozšířené vyhledávání v rubrikách

WordPress sice v základním nastavení žádné rozšířené vyhledávání nemá, ale s pomocí několika chytrých funkcí můžeme tento nedostatek napravit. Zdrojový kód se bude skládat ze dvou částí – vyhledávacího formuláře a speciální šablony pro page, jež realizuje samotné vyhledávání.

Začneme tedy formulářem:

<form action='<?php bloginfo( 'url' ) ?>/hledej' method='post'>
<input type='checkbox' name='povidky'>Povídky
<input type='checkbox' name='fejetony'>Fejetony
<input type='checkbox' name='drabble'>Drabble
<input type='submit' value='Hledat'>
</form>

Action odkazuje na url, kde bude umístěna vaše speciální vyhledávací stránka. Name u každého checkboxu je také názvem vyhledávané kategorie. Kód pro šablonu stránky vypadá takto:

<?php
/*
* Template Name: Hledač
*/
?>
<?php
$cat = '';

foreach($_POST as $key => $val){
if($val == 'on') $cat .= $key . ',';
}

$the_query = new WP_Query('category_name=' . $cat);

while ( $the_query->have_posts() ) : $the_query->the_post();
echo '<li>';
the_title();
echo '</li>';
endwhile;
?>

Pokud uživatel zaškrtne políčka Povídky a Drabble, tak se uživatelovi ve výpisu zobrazí články z těchto dvou rubrik. Pokud byste chtěli spíše něco jako filtr, tedy že se zobrazí příspěvky, které jsou v rubrice Povídky a zároveň Drabble, bude třeba několik částí upravit. Už v samotném formuláři nemůžete uvádět názvy kategorií, ale jejich id. Změny na vyhledávací stránce vypadají takto:

foreach($_POST as $key => $val){
if($val == 'on') $cat[] = $key;
}

$the_query = new WP_Query(array( 'category__and' => $cat));

Jak vytvořit vlastní widget?

Vytvoření vlastního jednoduchého widgetu není vůbec těžké. Stačí pouze vědět jak na to a to po krátkém návodu budete vědět. Základem je níže uvedený kód, který vložíte do souboru šablony – functions.php Obsah si pak už můžete upravit dle libosti.

class userWidget extends WP_Widget {

function userWidget() {
parent::WP_Widget(false, $name = 'userWidget');
}

function widget($args, $instance) {
extract( $args );
$title = apply_filters('widget_title', $instance['title']);
echo $before_widget;
if ( $title ) echo $before_title . $title . $after_title;
//zde napíšete kód widgetu
echo $after_widget;
}

function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
return $instance;
}

function form($instance) {
$title = esc_attr($instance['title']);
?>
<p>
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
<input id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" />
</p>
<?php
}
}
add_action('widgets_init', create_function('', 'return register_widget("userWidget");'));

Automatické zálohování WP na Dropbox

„How to Automatically Backup Your WordPress Site to Dropbox »“:http://wpmu.org/how-to-automatically-backup-your-wordpress-site-to-dropbox/

Step 1: Signup for Dropbox if you don’t already have an account.

Step 2: Install and activate the „WordPress Backup to Dropbox plugin“:http://wordpress.org/extend/plugins/wordpress-backup-to-dropbox/.

Step 3: Authorize the plugin with Dropbox.

Step 4: Select the day, time and how often you wish your backup to be performed.

Step 5: Wait for your backups to appear in the specified Dropbox folder.

**Wordpress Backup to Dropbox**
„http://wordpress.org/extend/plugins/wordpress-backup-to-dropbox/“:http://wordpress.org/extend/plugins/wordpress-backup-to-dropbox/
„http://wpb2d.com/“:http://wpb2d.com/

„Český návod »“:http://www.maxiorel.cz/jak-zalohovat-wordpress-do-cloudove-sluzby-dropbox

Uživatelský rozměr obrázku a jeho přidání do administrace

WordPress doesn’t show custom image size options in the media lightbox, but you can add them using an attachment_fields_to_edit filter. The below will add options for all the custom image sizes you have defined.

/—code php

add_theme_support( ‚post-thumbnails‘ );
add_image_size( ‚custom_size_image‘, 80, 80 );

add_filter(‚attachment_fields_to_edit‘, ‚my_attachment_fields_to_edit_filter‘, 100, 2);

function my_attachment_fields_to_edit_filter($form_fields, $post) {
if (!array_key_exists(‚image-size‘, $form_fields)) return $form_fields;

global $_wp_additional_image_sizes;
foreach($_wp_additional_image_sizes as $size => $properties) {
if ($size == ‚post-thumbnail‘) continue;

$label = ucwords(str_replace(‚-‚, ‚ ‚, $size));
$cssID = „image-size-{$size}-{$post->ID}“;

$downsize = image_downsize($post->ID, $size);
$enabled = $downsize[3];

$html = ‚‚ . $label . ‚‚;
if ($enabled) $html .= ‚ ‚;
$form_fields[‚image-size‘][‚html‘] .= ‚

‚ . $html . ‚

‚;
}

return $form_fields;
}
\—

„Zdroj »“:http://stackoverflow.com/questions/5032906/how-can-i-add-custom-image-sizes-to-wordpress-but-have-them-in-the-admin

Přidávání polí do formuláře pro komentář

There are situations where you might want to know a bit more about your commenter: their age, the city they live in, or the color of their underwear. This article explains how to add an input field, store the data in the database and how to display the additional data in your blog if your theme uses the comment_form() function provided by WordPress.

„Celý článek »“:http://wpengineer.com/2214/adding-input-fields-to-the-comment-form/

Změna nadpisu widgetu

Určitě jste se už trápili, jak změnit velikost nadpisu ve widgetech. WordPress tuto změnu v administračním rozhraní neumožňuje a tudíž budete muset zasahovat do samotné šablony. V té si najděte soubor functions.php a v něm budete muset opět pátrat, tentokrát po kódu, který vypadá nějak takto:

register_sidebar( array(
'name' => __( 'Primary Widget Area', 'twentyten' ),
'id' => 'primary-widget-area',
'description' => __( 'The primary widget area', 'twentyten' ),
'before_widget' => '<li id="%1$s">',
'after_widget' => '</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
) );

Nyní stačí upravit nadpis H3 na ten, který požadujete. Třeba H2. Změnu uložte a můžete se těšit z výsledku.