Az alábbi kód segítségével megjeleníthetjük az időzített, publikált és a törölt bejegyzések számát. Így a sablonunkba könnyen elhelyezhetünk egy kis statisztikát.
Sablonunkba, ahol látni szeretnénk:
1
2
3
| idozitve <!--?php echo majd_uzenet();?-->
publikalt <!--?php echo elfogadott_uzenet();?-->
torolt <!--?php echo torolt_uzenet();?--> |
A wp-content/themes/MEGJELENESED/functions.php -be pedig a záró ? > rész ELÉ ezt másoljuk:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| function majd_uzenet() {
global $wpdb;
$majd = $wpdb->get_var("select count(ID) from ".$wpdb->posts." where post_status='future' and post_type='post'");
return $majd;
}
function elfogadott_uzenet() {
global $wpdb;
$elfogadott = $wpdb->get_var("select count(ID) from ".$wpdb->posts." where post_status='publish' and post_type='post'");
return $elfogadott;
}
function torolt_uzenet() {
global $wpdb;
$torolt = $wpdb->get_var("select count(ID) from ".$wpdb->posts." where post_status='trash' and post_type='post'");
return $torolt;
}> |
Az alábbi kóddal megjeleníthetjük az adott bejegyzéshez tartozó címkéket. Mindezt anélkül, hogy azokon link lenne a címke oldalára.
1
| <?php $articletags = strip_tags(get_the_tag_list('',', ','')); echo $articletags; ?> |
Ez miért is jó? Könnyen felhasználhatjuk, hogy megadjuk vele a bejegyszénél a meta keywords elemeket.
A WordPress esetében gyakori a Facebook-os megosztás és like-olás. Ezeknél azonban nem mindig jelenik meg a rendes szöveg vagy épp a megfelelő kép. Ezek orvoslása nem is olyan bonyolult.
1
2
3
4
5
6
| <meta property="og:image" content="<?php echo bloginfo('template_url'); ?>/images/logo.png" />
<meta property="og:title" content="<?php if(is_home()) : ?><?php bloginfo('name'); ?><?php else: ?><?php the_title(); ?><?php endif ; ?>"/>
<meta property="og:url" content="<?php if(is_home()) : ?><?php echo get_option('home'); ?>/<?php else: ?><?php the_permalink() ?><?php endif ; ?>"/>
<meta property="og:site_name" content="<?php bloginfo('name'); ?>"/>
<meta property="og:description" content="<?php if(is_home()) : ?><?php bloginfo( 'description' ); ?><?php else: ?><?php echo substr(strip_tags($post->post_content), 0, 230);?> [...]<?php endif ; ?>"/>
<meta property="og:locale:alternate" content="hu_hu" /> |
Ezzel a cím a kezdőlapon az oldal címe lesz, a kép a wp-content/themes/megjelenesneve/images/logo.png lesz. A bejegyzés megtekintésekor pedig a bejegyzés címe lesz a megosztás-lájk címe. A szövegrész a kezdőlapon a blog leírása lesz, amit megadhatunk a Wp Admin / Beállítások / Honlap egysoros leírása mezőben adhatunk meg. A bejegyzéseknél az első 230 karakter fog megjelenni, html formázás nélkül.
A WordPress esetében egy ajánlott tanács a verziószám eltüntetése. Azonban vannak még további olyan kódok, amik fölöslegesek a felhasználók 99%-nak. Ilyen kódok például a Windows Live Writer-hez kapcsolódó alábbi kód:
1
| <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" /> |
Aztán ott van ‘lapozó’ rész, aminél a kezdőlap, következő bejegyzés (vagy oldal) és előző linkje szerepel. Minimálisan segítheti, hogy a keresőrobotok jobban átjárják az oldalt, azonban erre a célra használjunk inkább egy sitemap, az az webhelytérkép készítő plugint, programot.
1
2
3
4
| <link rel='index' title='Main Page' href='http://www.themelab.com' />
<link rel='start' title='Article in the distant past' href='http://www.themelab.com/hello-world/' />
<link rel='prev' title='The Post Before This One' href='http://www.themelab.com/post-before/' />
<link rel='next' title='The Post After This One' href='http://www.themelab.com/post-after/' /> |
Így ezek a kódok csak növelik a lapok méretét és rondítják fölöslegesen a kód tisztaságát, rontják a kód/hasznos szöveg arányt. Így ezeket az alábbi kódrésszel kikapcsolhatjuk, eltüntetjük. Ezt a megjelenésed functions.php -jábakell bemásolni a ?> rész elé.
1
2
3
4
5
6
| remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link'); |
Az ‘rsd_link’ -el tudjuk az XML-RPC szolgáltatás kódját eltüntetni. Ez csak azoknak szükséges, akik távoli szolgáltatásokat használnak. A ‘wlwmanifest_link’ a Windows Live Writer segítő kódja. A ‘wp_generator’ a WordPress rendszerünk verziószámát tünteti el a fejléc kódjából, ne könnyítsük meg a támadók dolgát a verziószámunk mutatásával. Az alsó 3 rész pedig a következő, előző, kezdőlapos részt tünteti el. Források a www.themelab.com oldalon szereplő információk szolgáltak.
Figyeljünk arra, hogy az általunk használt megjelenés header.php fájlja se hívja meg ezen információkat, különben nem fog eltűnni!
Az egyik mostani munkámnál, szükség volt, hogy a címkéket egy lenyíló listába helyezzem el. Ehhez kerestem és találtam is megoldást. Első lépésnek szokásosan kiegészítjük a functions.php-t, a következő résszel:
<?php
function dropdown_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => ''
);
$args = wp_parse_args( $args, $defaults );
$tags = get_tags( array_merge($args, array('orderby' => 'count', 'order' => 'DESC')) ); // Always query top tags
if ( empty($tags) )
return;
$return = dropdown_generate_tag_cloud( $tags, $args ); // Here's where those top tags get sorted according to $args
if ( is_wp_error( $return ) )
return false;
else
echo apply_filters( 'dropdown_tag_cloud', $return, $args );
}
function dropdown_generate_tag_cloud( $tags, $args = '' ) {
global $wp_rewrite;
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC'
);
$args = wp_parse_args( $args, $defaults );
extract($args);
if ( !$tags )
return;
$counts = $tag_links = array();
foreach ( (array) $tags as $tag ) {
$counts[$tag->name] = $tag->count;
$tag_links[$tag->name] = get_tag_link( $tag->term_id );
if ( is_wp_error( $tag_links[$tag->name] ) )
return $tag_links[$tag->name];
$tag_ids[$tag->name] = $tag->term_id;
}
$min_count = min($counts);
$spread = max($counts) - $min_count;
if ( $spread <= 0 )
$spread = 1;
$font_spread = $largest - $smallest;
if ( $font_spread <= 0 )
$font_spread = 1;
$font_step = $font_spread / $spread;
// SQL cannot save you; this is a second (potentially different) sort on a subset of data.
if ( 'name' == $orderby )
uksort($counts, 'strnatcasecmp');
else
asort($counts);
if ( 'DESC' == $order )
$counts = array_reverse( $counts, true );
$a = array();
$rel = ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) ? ' rel="tag"' : '';
foreach ( $counts as $tag => $count ) {
$tag_id = $tag_ids[$tag];
$tag_link = clean_url($tag_links[$tag]);
$tag = str_replace(' ', ' ', wp_specialchars( $tag ));
$a[] = "\t<option value='$tag_link'>$tag ($count)</option>";
}
switch ( $format ) :
case 'array' :
$return =& $a;
break;
case 'list' :
$return = "<ul class='wp-tag-cloud'>\n\t<li>";
$return .= join("</li>\n\t<li>", $a);
$return .= "</li>\n</ul>\n";
break;
default :
$return = join("\n", $a);
break;
endswitch;
return apply_filters( 'dropdown_generate_tag_cloud', $return, $tags, $args );
}
?>
(Forrás: http://wpswitch.com/blog/wordpress/display-wordpress-post-tags-in-a-dropdown-menu/ )
Ügyeljünk arra, hogy itt ne a záró ? > záró tag elé, hanem utána másoljuk be a kódot!
Majd ha ezzel megvagyunk, elmentettük, akkor helyezzük a sablonunkba a kívánt helyre, az alábbi kódrészletet:
<select name="tag-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value="#">Tags</option>
<?php dropdown_tag_cloud('number=0&order=asc'); ?>
</select>
A WordPress rendszer gyakori felhasználásánál időnként egyes megrendelők kérik, hogy a bejelentkezésnél ne legyen kint a WordPress logo és azon egy link a a wordpress.org oldalra. Ez egy céges oldalnál, ugyebár eléggé gáz, hogy regisztrálni szeretne az ügyfél és ilyesmik rontják az összképet. Félreértés ne essék, a készítőket tiszteljük meg minimum egy linkkel, de ennek a linknek nem biztos, hogy itt kell lennie. Nézzük is a megoldást!
1. Kép lecserélése, kicserélése: Megoldhatjuk bővítménnyel, neve: Add Logo to Admin.
Vagy szimplán megoldjuk kóddal, amit a functions.php -be kell beszúrnunk, a wp-content/themes/megjelenesedneve/ mappába található.
function custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image: url('.get_bloginfo('template_directory').'/images/custom-login-logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_login_logo');
(Forrás: http://wordpress.org/support/topic/how-do-i-change-wordpress-logo-on-login-page )
2. A link lecserélése is egyszerű, szintén a functions.php -t egészítsük ki ezzel:
function login_link_url(){
return "http://www.linkamikell.hu/"; // Rotisoft.hu
}
add_filter('login_headerurl', 'login_link_url');
3. Az szép, hogy már másik kép van ott. Az jó, hogy már másik link van ott. Azonban ha fölé visszük az egeret, akkor bizony megjelenik a “Powered by wordpress / Az oldalt a WordPress hajtja” felirat. Ezt is illik akkor már lecserélni, hogy ne hagyjunk fél munkát.
function login_link_cim(){
return "Link cimenek szovege"; // Rotisoft.hu
}
add_filter('login_headertitle', 'login_link_cim');