Choose an avatar from a pre-defined list to include in a post.
Allow authors to select an image from a pre-defined list while in the Post Editor screen. This image will be displayed together with a post.
Post Avatar is similar in concept to Livejournal userpics wherein authors choose images uploaded by the site owner. Developed with Dominik Menke.
Your votes and feedback are greatly appreciated. Thanks.
By default, the plugin hooks into the following filters: the_content() and the_excerpt().
OVERRIDE HTML DISPLAY USING FILTER HOOK: gklpa_the_postavatar
The gklpa_the_postavatar
filter takes two parameters:
$post_avatar_text
– Original HTML display
$post_avatar
– Post Avatar data in array format. The keys are:
avatar_url: The URL to the image show_image_dim: 1 indicates to show image dimensions, 0 to hide them image_height: integer value of image height or null if image dimensions is turned off image_width: integer value of image width or null if image dimensions is turned off post_id: ID of current post post_title: Post title for the image attribute image_name: Image file name
Example: Display a default image if no avatar is selected
This example makes use of the HTML/CSS settings defined by the site admin.
add_filter( 'gklpa_the_postavatar', 'prefix_show_default_image', 10, 2 ); function prefix_show_default_image( $post_avatar_html, $post_avatar_array ){ global $post, $gklpa_plugin_settings; // Display default image; if( is_null( $post_avatar_array ) ){ if( !empty( $gklpa_plugin_settings['css_class'] ) { $css = 'class="' . $gkl_plugin_settings['css_class']. '"'; } $post_avatar_html = $gklpa_plugin_settings['html_before' ] . '<img '. $css . ' src="http://wplatest.dev/images/default-image.jpg" alt="' . esc_attr(strip_tags($post->post_title) ) . '" />'. $gklpa_plugin_settings['html_after']; } return $post_avatar_html; }
OVERRIDE HTML DISPLAY WITH CUSTOM CONTENT HOOK
If you want to change the HTML completely or override the option to display avatars automatically, use the remove_filter() like so:
remove_filter(‘the_content’, ‘gkl_postavatar_filter’, 99 );
remove_filter(‘the_excerpt’, ‘gkl_postavatar_filter’, 99 );
You can then define your own the_content
filter function that makes use of the gkl_postavatar()
or gkl_get_postavatar()
functions
You will need to use the function gkl_get_postavatar()
which takes the post object and returns the array of post avatar information.
$post_avatar_array
– Post Avatar data in array format. The keys are:
avatar_url: The URL to the image show_image_dim: 1 indicates to show image dimensions, 0 to hide them image_height: integer value of image height or null if image dimensions is turned off image_width: integer value of image width or null if image dimensions is turned off post_id: ID of current post post_title: Post title for the image attribute image_name: Image file name
Example:
add_filter( 'the_content', 'my_custom_post_avatar' ); function my_custom_post_avatar( $content ){ global $post; $current_avatar = gkl_get_postavatar( $post ); $html_before = '<span class="alignleft">'; $html_after = '</span>'; // Display default image if( is_null( $current_avatar ) ) { $image_url = 'http://wplatest.dev/images/default-image.jpg'; $alt_text = esc_attr(strip_tags($post->post_title) ); } else { $image_url = $current_avatar['avatar_url']; $alt_text = $current_avatar['post_title']; } $post_avatar_html = $html_before . '<img src="'. $image_url . '" alt="' . $alt_text . '" />'. $html_after; return $post_avatar_html; }
OVERRIDE HTML DISPLAY WITH template tag gkl_postavatar
If you want the post avatar to appear outside of the content, e.g. with the entry’s meta information, make use of the gkl_postavatar()
template tag.
It takes four paramters:
class: CSS class to use in the `<img>` tag. before: HTML to appear before the image. after: HTML to appear after the image. do_what: Use `echo` to display the post avatar, `return` to pass it to a variable. Defaults to `echo`.
Example: In a template file:
<div class="entry-meta"> <?php gkl_postavatar('', "<span class='alignleft'>", "<span>" );?> -- more template tags here -- </div>
Or you can make your own template tag function like in the example for “Override HTML display with custom content hook”, except you call the function directly in your template instead of hooking into the_content()
.
Add Post Avatar to Pages and Custom Post Types
Use the filter hook gklpa_allowed_post_types
to add further post types that you want the Post Avatar selection to appear on.
It takes an array of post type slugs as a parameter.
add_filter( 'gklpa_allowed_post_types', 'prefix_my_custom_post_types' ); function prefix_my_custom_post_types( $current_post_types ){ $current_post_types = array( 'post', 'page', 'review', 'event' ); return $current_post_types; }
Enable Image Selection for Folder Outside of WordPress Installation
By default, Post Avatar looks for your images folder in relation to your WordPress installation. If you want to move your folder elsewhere, use these pair of filter hooks: gklpa_image_url
and gklpa_image_dir
. They take a single parameter: Image folder url and absolute path to the image folder, respectively.
add_filter( 'gklpa_image_url', 'prefix_change_folder_url' ); function prefix_change_folder_url( $current_url ){ return esc_url( 'http://mysite.com/images/' ); } add_filter( 'gklpa_image_dir', 'prefix_change_folder_dir' ); function prefix_change_folder_dir ){ return '/user/public_html/images/'; }
Please visit the Post Avatar Page for details on customizing the avatar display.
Post Avatar is translation-ready and supports a number of languages. If you can’t find your language here, please consider contributing a language pack.
If you’re interested, please check out the “Codestyling Localization” plugin and for validating the “Poedit Editor”.
Send in your translations to [email protected]
Thanks to the following for their language packs.
post-avatar
, containing the plugin files.post-avatar
folder to where your plugins are installed, typically, /wp-content/plugins
.See Also:“Installing Plugins” article on the WP Codex
The Plugins section of your WordPress admin provides notification if there are new updates for the plugin.
For a manual upgrade, delete the folder post-avatar
from the plugins folder and follow the new installation instructions.
For automatic upgrade, click on ** Upgrade Now**.
You can change default options by going to the Post Avatar link in the Settings menu at your WordPress admin.
Path to Images Folder – location of your images folder in relation to your WordPress installation. Defaults to wp-content/uploads
.
Show avatar in post? Disable to use template tag. – Tick this so that the chosen post avatar will be automatically displayed in your post, just prior to your post content. Enabled by default.
Scan the images directory and its sub-directories – Tick this to include images stored in sub-directories of the images folder during the avatar selection. Enabled by default.
Get image dimensions? Disable this feature if you encounter getimagesize errors – Turned on by default, a tick mark here will determine the image’s width and height. If you encounter any getimagesize errors, turn this feature off.
Show post avatars in RSS feeds? – Turned off by default, place a tick mark here to include avatars in your RSS feeds.
Customize HTML/CSS – These options help you further customize how post avatars will look.
A. Use this HTML before/after the post avatar image – Enter the HTML code that will wrap around the image. Can be left blank. The plugin defaults to <div class="postavatar"></div>
.
Example: Before: <div class="myimage">
/ After: </div>
Output: <div class="myimage"><img src="http://mydomain.com/images/chosen-image.jpg" height="120" width="180" alt="post-title" /></div>
B. CSS Class – Define the CSS class associated with the post avatar image. Can be left blank. It is empty by default.
Example: The class name is: postimage
Output: <img class="postimage" src="http://mydomain.com/images/chosen-image.jpg" height="120" width="180" alt="post-title" />
Using both HTML and CSS class will result in the following output:
The “Advanced Customization” section of this readme has more advanced customization tips.
UPLOAD IMAGES
The plugin does not handle image uploads. You will need to use your FTP or a file manager to upload photos. There are also a number of plugins that handle file uploads
Upload images, using your preferred upload method, to the folder defined in the Post Avatar settings page.
ADDING AN AVATAR TO A POST
Go to the Post Editor screen. Below the content text area you will find the Post Avater section.
Select the image name from the dropdown list. You can also use the next and previous arrow buttons on either side of the dropdown to scroll through images.
Once you’ve made your selection, click Publish for a new post or Update for a previously saved one.
post-avatar
, containing the plugin files.post-avatar
folder to where your plugins are installed, typically, /wp-content/plugins
.See Also:“Installing Plugins” article on the WP Codex
The Plugins section of your WordPress admin provides notification if there are new updates for the plugin.
For a manual upgrade, delete the folder post-avatar
from the plugins folder and follow the new installation instructions.
For automatic upgrade, click on ** Upgrade Now**.
You can change default options by going to the Post Avatar link in the Settings menu at your WordPress admin.
Path to Images Folder – location of your images folder in relation to your WordPress installation. Defaults to wp-content/uploads
.
Show avatar in post? Disable to use template tag. – Tick this so that the chosen post avatar will be automatically displayed in your post, just prior to your post content. Enabled by default.
Scan the images directory and its sub-directories – Tick this to include images stored in sub-directories of the images folder during the avatar selection. Enabled by default.
Get image dimensions? Disable this feature if you encounter getimagesize errors – Turned on by default, a tick mark here will determine the image’s width and height. If you encounter any getimagesize errors, turn this feature off.
Show post avatars in RSS feeds? – Turned off by default, place a tick mark here to include avatars in your RSS feeds.
Customize HTML/CSS – These options help you further customize how post avatars will look.
A. Use this HTML before/after the post avatar image – Enter the HTML code that will wrap around the image. Can be left blank. The plugin defaults to <div class="postavatar"></div>
.
Example: Before: <div class="myimage">
/ After: </div>
Output: <div class="myimage"><img src="http://mydomain.com/images/chosen-image.jpg" height="120" width="180" alt="post-title" /></div>
B. CSS Class – Define the CSS class associated with the post avatar image. Can be left blank. It is empty by default.
Example: The class name is: postimage
Output: <img class="postimage" src="http://mydomain.com/images/chosen-image.jpg" height="120" width="180" alt="post-title" />
Using both HTML and CSS class will result in the following output:
The “Advanced Customization” section of this readme has more advanced customization tips.
UPLOAD IMAGES
The plugin does not handle image uploads. You will need to use your FTP or a file manager to upload photos. There are also a number of plugins that handle file uploads
Upload images, using your preferred upload method, to the folder defined in the Post Avatar settings page.
ADDING AN AVATAR TO A POST
Go to the Post Editor screen. Below the content text area you will find the Post Avater section.
Select the image name from the dropdown list. You can also use the next and previous arrow buttons on either side of the dropdown to scroll through images.
Once you’ve made your selection, click Publish for a new post or Update for a previously saved one.
No. Post Avatar does not support image uploads. It simply looks up the list of images that you’ve defined in the plugin settings. Images will need to be transferred via FTP or a file manager.
However, there are a few workarounds:
1. Make your image folder the same as your WordPress uploads folder to include images from the Media Library in the Post Avatar list. Or,
2. Install a plugin that will let you upload images to a folder other than the WordPress uploads folder.
Post Avatar pre-dates Featured Images by 3 years and while both attach an image to a post, Post Avatar makes use of the same images while Featured Images is more for a unique image.
I designed Post Avatar so I can select images right from the Post Editor screen.
Also, I prefer to use images with smaller dimensions (usually 250px by 250px and lower).
Post Avatar is more efficient when used with a relatively short list of images (anything in the range of more thousands of images and I suggest you stay with Featured Images).
You can make use of the HTML/CSS options in the Post Avatar settings page to make sure that the image’s look is in line with your theme. See Configuration options.
No. Post Avatar only displays a single list of images scanned from the folder you specified in the Post Avatar settings screen.
Not by default. If you’re comfortable with editing your theme’s function.php file you can use the custom filter ‘gklpa_allowed_post_types’ to enable the Post Avatar functionality on custom post types and pages. Please see the Developer section for more details
gkl_check_phpself()
, gkl_validate_checked()
.wp_enqueue_scripts
instead of wp_print_styles
.wp_localize_script()
for JavaScript variables. Removed gkl_admin_head()
.gkl_display_css()
.gkl_init()
.esc_attr()
to all settings. gklpa_showinwritepage
.esc_url
.gkl_unescape_html
and gkl_dev_override
gkl_get_postavatar
, to return post avatar data in an array. Allow_url_fopen
)gkl_postavatar
template tag produces correct (X)HTML