WordPress per tutti: semplice guida al codice PHP (WP Codex)

WordPress è uno dei CMS (Content Management System) più completi e personalizzabili che ci siano al mondo e che permettono di creare contenuti dinamici in modo relativamente semplice. Questo avviene grazie ad un’area di amministrazione intuitiva da utilizzare anche da chi non conosce alcun linguaggio di progettazione web. WordPress oltre ad essere uno strumento estremamente potente ed intuitivo è anche gratuito, è infatti un CMS open source che viene distribuito gratuitamente e che può vantare una enorme comunità di utilizzatori ed appassionati.

Inoltre WordPress è anche flessibile e permette di poterlo utilizzare sia per piccoli blog, sia per grandi portali web e sfruttarlo addirittura una la gestione completa di siti e-commerce. n3w Italia dopo averlo modificato e personalizzato per renderlo il più potente e performante possibile sia come prestazioni che come ambito SEO, lo utilizza ampiamente da anni per i propri progetti e non solo per blog. Per questo ci possiamo definire Esperti WordPress. Basti pensare che alcuni marchi importantissimi come Ford, Samsung, Playstation, CNN, Wall Street Journal e tanti altri, utilizzano questa piattaforma per i loro siti. In questa piccola guida viene mostrato il codice PHP da inserire nel template per visualizzare determinate sezioni.

Uno dei punti di forza di WordPress è la flessibilità del codice PHP. Infatti basta inserire quanto riportato nel tema, per poter visualizzare dei contenuti dinamici senza necessariamente conoscere il linguaggio di programmazione PHP. Di seguito le principali “sezioni di codice” utilizzate normalmente dai programmatori WordPress.

Visualizza i post recenti:
<?php query_posts('showposts=5'); ?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>

Visualizza i recenti aggiornamenti di Pagine e Post:

<?php
$today = current_time('mysql', 1);
$howMany = 5; //Number of posts you want to display
if ( $recentposts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_modified_gmt < '$today' ORDER BY post_modified_gmt DESC LIMIT $howMany")):
?>
<h2><?php _e("Recent Updates"); ?></h2>
<ul>
<?php
foreach ($recentposts as $post) {
if ($post->post_title == '') $post->post_title = sprintf(__('Post #%s'), $post->ID);
echo "<li><a href='".get_permalink($post->ID)."'>";
the_title();
echo '</a></li>';
}
?>
</ul>
<?php endif; ?>

Visualizza i commenti recenti:

<?php
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,30) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = ''
ORDER BY comment_date_gmt DESC
LIMIT 10";
$comments = $wpdb->get_results($sql);
$output = $pre_HTML;
$output .= "\n<ul>";
foreach ($comments as $comment) {
$output .= "\n<li>".strip_tags($comment->comment_author)
.":" . "<a href=\"" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "\" title=\"on " .
$comment->post_title . "\">" . strip_tags($comment->com_excerpt)
."</a></li>";
}
$output .= "\n</ul>";
$output .= $post_HTML;
echo $output;?>

Visualizza i commenti più famosi:

<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10");
foreach ($result as $topten) {
$postid = $topten->ID;
$title = $topten->post_title;
$commentcount = $topten->comment_count;
if ($commentcount != 0) { ?>
<li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>"><?php echo $title ?></a></li>
<?php } } ?>

Visualizza le categorie:

<h2>Categories</h2>
<ul>
<?php wp_list_cats('sort_column=name'); ?>
</ul>

Visualizza le categorie in un menu a tendina:

<form action="<?php bloginfo('url'); ?>/" method="get">
<?php
$select = wp_dropdown_categories('show_option_none=Select category&show_count=1&orderby=name&echo=0');
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select); echo $select; ?>
<noscript><input type="submit" value="View" /></noscript>
</form>

Visualizza l’archivio:

<h2>Archives</h2>
<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>

Visualizza l’archivio in un menu a tendina:

<select name=\"archive-dropdown\" onChange='document.location.href=this.options[this.selectedIndex].value;'>
<option value=\"\"><?php echo attribute_escape(__('Select Month')); ?></option>
<?php wp_get_archives('type=monthly&format=option&show_post_count=1'); ?> </select>

Visualizza il menu delle pagine nella Sidebar:

<h2>Pages</h2>
<ul>
<?php wp_list_pages('title_li='); ?>
</ul>

Visualizza i Gravatars:

<?php if(function_exists(’get_avatar’)){ echo get_avatar($comment, ‘50?);} ?>

Visualizza i Blogroll Links:

<ul>
<?php get_links_list(); ?>
</ul>

Visualizza la sezione Admin:

<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<li><a href="http://www.wordpress.org/">WordPress</a></li>
<?php wp_meta(); ?>
<li><a href="http://validator.w3.org/check?uri=referer">XHTML</a></li>
</ul>

Visualizza i sotto-menu nella Sidebar:

<?php$children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0');if ($children) { ?><ul> <?php echo $children; ?>
</ul>
<?php } ?>

Visualizza i Tags dei Posts:

<?php the_tags(); ?>

Visualizza la Tag Cloud:

<?php wp_tag_cloud('smallest=8&largest=36&number=10'); ?>

Visualizza il tag <title> dinamico:

<title><?phpif (is_home()) { echo bloginfo('name');
} elseif (is_404()) {
echo '404 Not Found';
} elseif (is_category()) {
echo 'Category:'; wp_title('');
} elseif (is_search()) {
echo 'Search Results';
} elseif ( is_day() || is_month() || is_year() ) {
echo 'Archives:'; wp_title('');
} else {
echo wp_title('');
}
?></title>

Visualizza il contenuto solo per la Home:

<?php if ( is_home() ) { testo visibile solo per la home } ?>

Visualizza il contenuto solo per una determinata Pagina:

<?php if ( is_page(10) ) { testo visibile solo per la pagina con ID 10 } ?>

Visualizza il contenuto solo per un determinato Post:

<?php if ( is_post(10) ) { testo visibile solo per il post con ID 10 } ?>

Visualizza un Feed RSS esterno:

<?php include_once(ABSPATH.WPINC.'/rss.php');
wp_rss('https://www.n3w.it/blog/rss/', 5); ?>

Visualizza gli aggiornamenti Twitter di un account:

<?php
// Your twitter username.
$username = "TwitterUsername";
// Prefix - some text you want displayed before your latest tweet.
// (HTML is OK, but be sure to escape quotes with backslashes: for example href=\"link.html\")
$prefix = "";
// Suffix - some text you want display after your latest tweet. (Same rules as the prefix.)
$suffix = "";
$feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1";
function parse_feed($feed) {
$stepOne = explode("<content type=\"html\">", $feed);
$stepTwo = explode("</content>", $stepOne[1]);
$tweet = $stepTwo[0];
$tweet = str_replace(”&lt;”, “<”, $tweet);
$tweet = str_replace(”&gt;”, “>”, $tweet);
return $tweet;
}
$twitterFeed = file_get_contents($feed);
echo stripslashes($prefix) . parse_feed($twitterFeed) . stripslashes($suffix);
?>

Per richiedere ulteriori informazioni o un preventivo su una qualsiasi attività WordPress, contatta n3w Italia.


- News