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

Plugin: post-avatar (Used by 37 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
s*e*s*e*d.com F 2026-07-08 10:14:15
s*e*n*h*r*i*a*.com F 2026-07-08 06:32:42
m*g*s*e*s*t*r*a*e.com (WP 7.0) 👤 F 2026-07-07 05:51:00
g*m*s*e*s*n.com (WP 7.0) 👤 F 2026-07-07 00:35:06
t*o*s*h*o*k.com (WP 6.8.5) 👤 F 2026-07-06 22:39:29
u*p*u*t*o.com (WP 4.7.29) ⚠️ 👤 F 2026-07-04 14:07:01
g*r*n*n*k*d*l.com (WP 4.9.26) ⚠️ 👤 F 2026-07-04 08:32:34
a*o*f*i*e*.com (WP 6.9.4) 👤 F 2026-07-04 01:13:11
i*m*g*a*i*n*b*i*-*o*d*.com (WP 7.0) F 2026-07-02 00:00:18
w*r*e*s*k*e*.com (WP 7.0) 👤 F 2026-07-01 13:15:55
p*r*n*r*e*h*.com (WP 7.0) 👤 F 2026-06-30 03:09:44
f*u*t*g*r*n*.com 👤 F 2026-06-30 02:21:23
s*a*t*r*d*t*a*q*i*i*y.net F 2026-06-15 17:10:42
t*m*-*c*r*i*e*.de (WP 6.2.9) ⚠️ 👤 F 2026-06-14 15:40:40
t*e*o*l*o*p*r*c*a*t.com D 2026-06-06 10:06:12
a*s*i*a*d*m*a.com F 2026-06-02 02:45:54
c*r*o*d*l*r*s*.com F 2026-06-01 03:49:25
m*m*c*l*i*.com (WP 3.3.1) ⚠️ F 2026-05-30 14:48:35
t*e*l*e*r*n*s*o*l*v*n*.com (WP 6.9.4) D 2026-05-29 22:25:20
s*r*k*-*w*.com (WP 7.0) F 2026-05-29 01:37:36
p*r*-*o*e.net (WP 7.0) F 2026-05-28 14:39:02
t*a*h*b*i*l*d*.com F 2026-05-28 11:28:17
t*f*l*e*n*s*a*k*.nl F 2026-05-27 14:41:47
r*p*-*e*u*.c*.uk F 2026-05-27 03:32:33
f*l*z*f*a*d*o*i*.com (WP 6.8.3) F 2026-05-27 02:39:24
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
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

Top 50 Plugins

Plugin Count
elementor 1,810,516
contact-form-7 1,799,344
elementor-pro 1,068,897
woocommerce 828,832
revslider 626,358
jetpack 470,836
js_composer 434,701
wp-rocket 343,674
essential-addons-for-elementor-lite 272,813
complianz-gdpr 268,074
gravityforms 261,067
cookie-law-info 237,046
instagram-feed 231,837
google-site-kit 230,144
sitepress-multilingual-cms 217,619
header-footer-elementor 213,640
google-analytics-for-wordpress 213,328
bluehost-wordpress-plugin 192,980
elementskit-lite 186,647
gutenberg 167,461
cookie-notice 156,268
gutenberg-core 152,794
litespeed-cache 139,267
wpforms-lite 130,810
gtranslate 128,889
the-events-calendar 126,976
astra-sites 120,340
popup-maker 114,515
woocommerce-payments 113,841
tablepress 103,883
honeypot 100,159
coblocks 98,761
astra-addon 96,634
wp-smushit 93,879
all-in-one-seo-pack 93,475
layerslider 92,727
duracelltomi-google-tag-manager 92,629
bb-plugin 88,397
premium-addons-for-elementor 87,342
akismet 86,889
cleantalk-spam-protect 85,100
mailchimp-for-wp 84,628
ml-slider 83,013
megamenu 82,658
woocommerce-gateway-stripe 82,107
fusion-builder 79,469
smart-slider-3 78,255
borlabs-cookie 77,874
ewww-image-optimizer 77,843
formidable 77,666

Top 50 Themes

Theme Count
hello-elementor 630,877
Divi 516,152
astra 429,649
flatsome 133,851
Avada 124,986
generatepress 119,447
pub 105,800
oceanwp 84,314
kadence 81,166
enfold 72,587
salient 67,309
twentyseventeen 56,139
twentytwentyfour 53,940
betheme 53,554
bb-theme 53,534
h4 52,635
blocksy 51,748
cocoon-master 51,216
dt-the7 46,872
twentytwentyfive 45,066
neve 39,715
Avada-Child-Theme 37,821
woodmart 36,976
gox 36,260
bridge 33,115
twentytwentyone 31,739
lightning 30,300
twentytwenty 29,744
swell 28,440
Impreza 26,787
bricks 26,556
Newspaper 24,630
twentytwentythree 23,482
twentytwentytwo 19,846
epik-redesign 19,722
uncode 19,279
twentysixteen 18,040
pro 17,817
sydney 17,113
storefront 16,895
Total 14,941
extendable 14,833
hello-theme-child-master 14,113
factory-templates-4 13,722
yith-wonder 13,409
themify-ultra 13,295
yootheme 13,082
hestia 12,981
porto 12,211
twentynineteen 12,029