WordPress OSINT, maintenance or security needs? Reach out!
TLDWP

Plugin: post-avatar (Used by 39 domains)

Post Avatar

👤 Vicky Arulsingam 📦 v1.6.0 🔗 Plugin Homepage

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.

Features

  • Easy selection of images from within the Post Editor screen.
  • Scans images in sub-directories of the image option folder.
  • Allows the following file types: .jpg, .jpeg, .gif and .png.
  • Flexible with customizing avatar display.
    • Display avatars using the default HTML/CSS tags.
    • HTML/CSS tags can be edited from with the Settings screen.
    • Use template tags and custom filters within themes for advanced customization.
  • International language support for Belorussian, Czech, Dutch, French, German, Hindi, Irish, Italian, Polish, Romanian, Serbo-Croatian, Spanish
  • Does not display missing images.
  • Can be further extended to show images for pages and custom post types

Bug Submission and Forum Support

WordPress Forum

Post Avatar home page

Please Vote and Review

Your votes and feedback are greatly appreciated. Thanks.

Advanced Customization

For Front End Display

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:

  1. $post_avatar_text – Original HTML display

  2. $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' ] . '' . 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.

  1. $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 = '';
        $html_after = '';
        // 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 . '' . $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 `` 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:

    

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().

For Administration Screens

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.

Translations

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.

  • Belorussian (ru_RU) Fat Cower
  • Czech (cz_CZ) Lelkoun
  • Dutch (nl_NL) Jay August
  • French (fr_FR) Mathieu Haratyk
  • German (de_DE) Dominik Menke
  • Hindi (hi_IN_Hindi) Outshine Solutions
  • Irish (ga_IR) Ray S.
  • Italian (it_IT) Gianni Diurno
  • Polish (pl_PL) Meloniq
  • Romanian (ro_RO) Webhosting Geeks
  • Serbo-Croatian (sr_RS) Webhosting Hub
  • Spanish (es_ES) gogollack
DomainExposuresHeadersLast Checked
f*n*i*g*s*f*a.com (WP 4.9.26) ⚠️ F 2026-05-25 15:02:53
e*p*c*j*u*e*s*.fr (WP 5.1.21) ⚠️ F 2026-05-24 19:41:41
p*w*r*a*s*f*w*r*.com (WP 6.9.4) F 2026-05-24 14:02:56
p*w*r*a*g*m*s.com (WP 6.9.4) F 2026-05-24 14:02:56
b*o*.a*t*p*u*.fr (WP 5.9.13) ⚠️ F 2026-05-24 05:26:58
i*m*c*e*y.com F 2026-05-23 16:33:36
a*k*d*l*.com (WP 6.9.4) F 2026-05-20 19:58:43
a*k*r*.ru (WP 4.9.26) ⚠️ F 2026-05-20 03:13:30
2*1*g*d.ru F 2026-05-18 02:28:05
e*c*o*l*e*i*i*c.com F 2026-05-16 10:31:27
e*c*o*l*e*i*.com F 2026-05-16 10:31:27
k*n*a*a*e*i*i.com F 2026-05-15 18:35:47
p*w*r*a*.net (WP 6.9.4) F 2026-05-13 01:15:45
s*e*s*e*d.com F 2026-05-11 09:08:54
s*e*n*h*r*i*a*.com F 2026-05-11 05:23:39
m*g*s*e*s*t*r*a*e.com (WP 6.9.4) F 2026-05-10 06:13:02
g*m*s*e*s*n.com (WP 6.9.4) F 2026-05-10 01:13:17
t*o*s*h*o*k.com (WP 6.8.5) F 2026-05-09 23:30:50
u*p*u*t*o.com (WP 4.7.29) ⚠️ F 2026-05-07 15:10:59
g*r*n*n*k*d*l.com (WP 4.9.26) ⚠️ F 2026-05-07 09:23:21
a*o*f*i*e*.com (WP 6.9.4) F 2026-05-07 01:31:06
i*m*g*a*i*n*b*i*-*o*d*.com (WP 6.9.4) F 2026-05-04 07:36:28
w*r*e*s*k*e*.com (WP 6.9.4) F 2026-05-03 21:37:58
p*r*n*r*e*h*.com (WP 6.9.4) F 2026-05-02 12:08:48
f*u*t*g*r*n*.com F 2026-05-02 11:19:56
t*e*o*l*o*p*r*c*a*t.com D 2026-05-01 10:28:04
t*e*i*l*o*r*t.net 📡 F 2026-04-30 20:19:05
c*r*o*d*l*r*s*.com F 2026-04-30 11:09:49
f*m*l*.c*m*r*o*t*e*o*d.com F 2026-04-30 01:53:11
m*m*c*l*i*.com (WP 3.3.1) ⚠️ F 2026-04-29 17:44:39
t*e*l*e*r*n*s*o*l*v*n*.com (WP 6.9.4) D 2026-04-28 17:30:08
p*r*-*o*e.net (WP 6.9.4) F 2026-04-28 14:08:56
a*s*i*a*d*m*a.com F 2026-04-27 23:40:52
t*a*h*b*i*l*d*.com F 2026-04-27 08:36:04
t*f*l*e*n*s*a*k*.nl F 2026-04-26 21:47:51
c*l*e*5.com 📡 F 2026-04-25 11:49:45
f*v*s*a*l*d*e*.com (WP 6.9.4) F 2026-04-25 05:29:12
s*r*k*-*w*.com (WP 6.9.4) F 2026-04-21 14:27:34
f*l*z*f*a*d*o*i*.com (WP 6.8.3) F 2026-04-21 02:54:46

Top 50 Plugins

Plugin Count
elementor 1,755,486
contact-form-7 1,722,534
elementor-pro 1,022,939
woocommerce 800,403
revslider 607,466
jetpack 459,190
js_composer 423,950
wp-rocket 324,990
essential-addons-for-elementor-lite 281,971
gravityforms 258,369
complianz-gdpr 244,941
cookie-law-info 223,169
instagram-feed 223,043
sitepress-multilingual-cms 215,522
google-site-kit 214,724
google-analytics-for-wordpress 211,136
header-footer-elementor 206,442
elementskit-lite 198,572
bluehost-wordpress-plugin 189,109
gutenberg 157,594
gutenberg-core 149,965
cookie-notice 144,339
wpforms-lite 129,356
the-events-calendar 128,316
litespeed-cache 125,244
gtranslate 123,953
astra-sites 120,199
popup-maker 114,353
woocommerce-payments 111,576
tablepress 103,196
coblocks 95,805
honeypot 94,648
astra-addon 93,061
all-in-one-seo-pack 92,390
wp-smushit 91,692
duracelltomi-google-tag-manager 90,652
LayerSlider 90,309
bb-plugin 89,497
premium-addons-for-elementor 85,018
akismet 84,692
megamenu 83,110
cleantalk-spam-protect 82,857
mailchimp-for-wp 82,516
woocommerce-gateway-stripe 81,339
fusion-builder 78,106
formidable 76,893
ml-slider 76,773
ewww-image-optimizer 76,204
borlabs-cookie 75,256
gravityformsrecaptcha 75,195

Top 50 Themes

Theme Count
hello-elementor 599,553
Divi 502,362
astra 417,049
flatsome 123,885
Avada 122,034
generatepress 114,464
pub 103,609
oceanwp 81,365
kadence 75,925
enfold 70,284
salient 65,796
twentyseventeen 54,825
bb-theme 54,397
twentytwentyfour 53,529
h4 53,053
cocoon-master 50,902
betheme 50,674
blocksy 49,002
dt-the7 44,883
twentytwentyfive 42,787
neve 38,269
Avada-Child-Theme 36,814
gox 32,779
bridge 32,464
twentytwentyone 32,128
woodmart 31,911
lightning 30,038
twentytwenty 29,547
swell 27,512
Impreza 25,603
bricks 25,160
twentytwentythree 24,168
Newspaper 22,597
twentytwentytwo 20,009
epik-redesign 19,267
uncode 18,628
twentysixteen 17,829
pro 17,728
sydney 17,674
storefront 17,523
voxel 17,021
extendable 15,483
Total 14,380
yith-wonder 13,989
kubio 13,506
hello-theme-child-master 12,904
themify-ultra 12,864
yootheme 12,537
factory-templates-4 12,504
hestia 12,448