Highslide for Wordpress Plugin

Archive for the “WordPress” Category

január 24, 2012 Posted Under: trükkök, WordPress   Read More

WordPress statisztika plugin nélkül

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;
}>
november 27, 2011 Posted Under: trükkök, WordPress   Read More

Címkék megjelenítése linkelés nélkül

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.

november 16, 2011 Posted Under: trükkök, WordPress   Read More

WordPress és Facebook meta tag-ek

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.

augusztus 7, 2011 Posted Under: trükkök, WordPress   Read More

Fejléc tisztítása, kódok gyomlálása

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!

május 19, 2011 Posted Under: Mahinálás, WordPress   Read More

Címkék lenyíló menüben

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(' ', '&nbsp;', 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>
május 17, 2011 Posted Under: Mahinálás, WordPress   Read More

WordPress bejelentkezés formázása

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');
Page 1 of 3123