Tips & Tricks
Echo custom fields in any category
Here is a neat trick. Say you want to show a custom field in you post or in a certain categories post. There is a simple code you need to write in order to accomplish this:
<?php $image = get_post_meta($post->ID, "image", $single = true); ?> <?php if($image != '') : if(in_category(7)) { echo ''; } else { ?> <img src="<?php echo $image ?>" alt="<?php the_title(); ?>" /></a>
In the example above I am calling the variable $image
and telling the server that it equals the value of “image” inside get_post_meta
or “custom field” of the current post.
Then we are asking if that variable $image
doesn’t equal nothing or !=
and if it is in the category id of 7, echo what ever is in the single quotes (which is nothing in this example), otherwise show the <img>
and the value inside “image” which should be the location of the image.
Update: Thanks to Austin from PressedWords for pointing out his trick, from the comment below.
Tips & Tricks
How to: Display RSS feeds from anywhere
Here is a simple way to display any RSS feed in your WordPress blog.
<?php include_once(ABSPATH . WPINC . '/rss.php'); $rss = fetch_rss('http://feeds2.feedburner.com/WPCult'); $items = array_slice($rss->items, 0, 4); if (empty($items)) echo '<li>No items</li>'; else foreach ( $items as $item ) : ?> <a style="font-size: 14px;" href='<?php echo $item['link']; ?>' title='<?php echo $item['title']; ?>'><?php echo $item['title']; ?></a><br /> <p style="font-size: 10px; color: #aaa;"><?php echo date('F, j Y',strtotime($item['pubdate'])); ?></p> <p><?php echo substr($item['summary'],0,strpos($item['summary'], "This is a post from")); ?></p> <?php endforeach; ?>
The first step is to include the WordPress file rss.php
then will apply code after to style the feeds.
Of coarse I forgot to mention, change the RSS feed to the feed you want to pull.
Tips & Tricks
Remove the title attribute using jQuery
In WordPress, when you use wp_page_menu
your anchor attribute’s usually carry a title with the same name. I’m not sure if it’s correct to do this, but it bother me when I hover over a page menu navigation link and I get a hover of the title.
So on my site I used jQuery to remove the title:
$("#nav a").removeAttr("title");
Pretty simple huh?
Tips & Tricks
How to: Open external links in a new window
Over the weekend, I attended WordCamp Denver, and I was asked by John Hawkins how to force links to open in a new tab with out editing the source code. So, today lets learn a simple jQuery trick to open all external links in your site in a new tab or window. We are going to make sure you have jQuery active on your site, you can do this easily in WordPress, since it’s bundled with the latest installations. Use this code in your header: <?php wp_enqueue_script('jquery'); ?>
then, below the wp_head
add the following:
<script type="text/javacript"> var $j = jQuery.noConflict(); $j(document).ready(function() { //external attribute $j("a:not([@href*=http://YOURSITE.com/])").not("[href^=#]") .addClass("external") .attr({ target: "_blank" }); } ); </script>
That’s it, just make sure you change the http://YOURSITE.com to your website.
Update
If you like you can remove the var $j =
and replace all $j
with simply just $
-
Tips & Tricks4 months ago
WordPress Security Hacks
-
Pages3 weeks ago
Write For Us – Guest Post
-
News2 weeks ago
How to: Show/Hide any div box with jQuery in WordPress
-
Tips & Tricks2 months ago
How to: show/hide a widget in WordPress with jQuery
-
Plugins2 months ago
Top Membership plugins
-
Tips & Tricks1 day ago
Remove the title attribute using jQuery
-
Tips & Tricks4 months ago
Remove spaces when echoing the_title
-
Tips & Tricks4 weeks ago
Limit the characters that display on the_title
Pingback: WordPress Links - Week 2 2009 | WPStart.org - WordPress themes, plugins and news
Austin
January 14, 2009 at 12:12 pm
No need to call get_post_meta() twice. Save some CPU cycles and echo the $image variable instead for the image src attribute.
Austin’s last blog post..Paged Comments and the SEO Problem: A Solution
frosty
January 14, 2009 at 2:00 pm
Thanks for that one, missed it..