Add Thumbnails in Manage Posts/Pages and Other Post Types

Hi there, here we go again! For today I’ve prepared you this simple ready to copy functions to display to the Manage/Edit Post and Pages and my custom taxonomy Downloads a new column with the thumbnail preview.
Thumbnails in Manage Posts

This snippet will first search for thumbnail and it’s id, but if fail then look for attachment used in the image there are no thumbnails on the posts to call a image[0], or the first image in the post, page or download type.

The default thumb size is 55px x 55px but you can easy change it on this snippet code. Simply you just have to edit $width and $height values. The same worth for custom post type selection, just edit this part of a code add_theme_support(‘post-thumbnails’, array( ‘post‘, ‘page‘, ‘download‘ ) );.

Add Thumbnails in Manage Posts/Pages

[php]
/****** Add Thumbnails in Manage Posts/Pages List ******/
/**
* Snippet Name: Add Thumbnails in Manage Posts/Pages and Other Post Types
* Snippet URL: http://wperror.com/add-thumbnails-in-manage-postspages-and-other-post-types.html
*/
if ( !function_exists (‘AddThumbColumn’) && function_exists (‘add_theme_support’) ) {

// for post and page
add_theme_support (‘post-thumbnails’, array( ‘post’, ‘page’ ) );

function AddThumbColumn ($cols) {

$cols[‘thumbnail’] = __(‘Thumbnail’);

return $cols;
}

function AddThumbValue ($column_name, $post_id) {

$width = (int) 35;
$height = (int) 35;

if ( ‘thumbnail’ == $column_name ) {
// thumbnail of WP 2.9
$thumbnail_id = get_post_meta( $post_id, ‘_thumbnail_id’, true );
// image from gallery
$attachments = get_children( array(‘post_parent’ => $post_id, ‘post_type’ => ‘attachment’, ‘post_mime_type’ => ‘image’) );
if ($thumbnail_id)
$thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
elseif ($attachments) {
foreach ( $attachments as $attachment_id => $attachment ) {
$thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
}
}
if ( isset($thumb) && $thumb ) {
echo $thumb;
} else {
echo __(‘None’);
}
}
}

// for posts
add_filter( ‘manage_posts_columns’, ‘AddThumbColumn’ );
add_action( ‘manage_posts_custom_column’, ‘AddThumbValue’, 10, 2 );

// for pages
add_filter( ‘manage_pages_columns’, ‘AddThumbColumn’ );
add_action( ‘manage_pages_custom_column’, ‘AddThumbValue’, 10, 2 );
}
[/php]

Limit search to post titles only

search post titlesI know that this is not something new on scene but anyway there snippet to limit search to the post titles only.

Yesterday client witch for I was working on a real estate template asked me: Is there a way to limit search to post titles only?

Here are the snippet that I’ve used to enable search for post titles only.

This search filter could be use various combinations to query any other custom post type. For example we could query custom post type “Portfolio” simply by replacing snippet with this code: $query->set(‘post_type’, ‘portfolio’);

Filter search to posts only

[php]
/**
* Snippet Name: Limit search to posts
* Snippet URL: http://wperror.com/limit-search-to-post-titles-only.html
*/
function SearchFilter($query) {
if ($query->is_search) {
$query->set(‘post_type’, ‘post’);
}
return $query;
}
add_filter(‘pre_get_posts’,’SearchFilter’);
[/php]

Filter search to titles only

[php]
/**
* Snippet Name: Limit search to titles only
* Snippet URL: http://wperror.com/limit-search-to-post-titles-only.html
*/
function __search_by_title_only( $search, &$wp_query )
{
global $wpdb;

if ( empty( $search ) )
return $search; // skip processing – no search term in query

$q = $wp_query->query_vars;
$n = ! empty( $q[‘exact’] ) ? ” : ‘%';

$search =
$searchand = ”;

foreach ( (array) $q[‘search_terms’] as $term ) {
$term = esc_sql( like_escape( $term ) );
$search .= "{$searchand}($wpdb->posts.post_title LIKE ‘{$n}{$term}{$n}’)";
$searchand = ‘ AND ‘;
}

if ( ! empty( $search ) ) {
$search = " AND ({$search}) ";
if ( ! is_user_logged_in() )
$search .= " AND ($wpdb->posts.post_password = ”) ";
}

return $search;
}
add_filter( ‘posts_search’, ‘__search_by_title_only’, 500, 2 );
[/php]

As you can see, the first snippet is used to limit search function to the posts only, while the other search by title only.

Different Background on each WordPress Post or Page

You may want to have a different background on your WordPress website. For example, you may have a celebrity blog and want to include an image of that celebrity on each of there pages or you may have a site that covers different topics and want to have a different color to represent each category.

This is easy to do with the plugin called Background Per Page.

Simply (in your WordPress dashboard) go to Plugins > Add New and search for Background Per Page, or download Background Per Page plugin, extract and upload the folder to the /wp-content/plugins/ directory. Then just Activate the plugin trough ‘Plugins’ menu in WordPress.

Download Background Per Page