Support » Fixing WordPress » Use as featured image link not working

  • zagriyen


    in my post edit page, the “Use as featured image” link in “Set featured image” popup don’t work,
    in firebug i get an error message :

    WPSetAsThumbnail is not defined
    onclick(event=click clientX=386, clientY=247)
    [Break On This Error] WPSetAsThumbnail(“351”, “2a280539a5”);

Viewing 15 replies - 1 through 15 (of 32 total)
  • wphelpcenter


    Have you tried disabling your plugins (and possibly switching to the default theme)? It’s possible that one of your plugins or themes is throwing another JavaScript error which is taking out the rest of the JavaScript on the page.



    yes i tried disabling all plugins, re-upload the wordpress package, and back to the default theme 🙁
    the ” use as featured image ” link don’t work

    Confirmed. This is also happening to me (all plugins are disabled). (wordpress version 3.0.1)

    So, I fixed the issue. The issue is that, in the media.php file (/wp-admin/includes/media.php), this is where Set as Featured Image function is being called. For whatever reason, WordPress cannot find the file that houses this function (it’s located in /wp-admin/js/set-post-thumbnail.js).

    In order to just make this work, I updated the function get_media_item. There is an if block that looks like this:

    if ( 'image' == $type && $calling_post_id && current_theme_supports( 'post-thumbnails', get_post_type( $calling_post_id ) ) && get_post_thumbnail_id( $calling_post_id ) != $attachment_id ) {

    Inside this block, there is a variable called $thumbnail that sets the actual text/action of Set As Featured. I prefixed the definition of the variable to manually load the js file we need. IE, the update looks like this

    $thumbnail = "<script type=\"text/javascript\" src=\"/includes/wordpress/wp-admin/js/set-post-thumbnail.js\"></script><a class='wp-post-thumbnail' id='wp-post-thumbnail-" . $attachment_id . "' href='#' onclick='WPSetAsThumbnail(\"$attachment_id\", \"$ajax_nonce\");return false;'>" . esc_html__( "Use as featured image" ) . "</a>";

    and now boom, it works.

    @infolock: thank you for providing a solution. I am having the same problem and will try your solution right after this.

    Just to isolate the problem, when did this problem started to occur for you guys (infolog and zagriyen)? Mine was after I installed and activated bulletproof security plugin, hypercache and db-reloaded plugins. I was also do some backups but I really don’t think that was it.

    I believe this is caused by the Bulletproof Security plugin. I removed the .htaccess in the root directory created by Bulletproof Security and returned the default WordPress .htaccess and all works fine. BTW, this was also breaking the YAPB (Yet Another Photoblog) post thumbmails in the “List Posts” table. This also returned to normal after restoring the original WordPress .htaccess.

    @ crazywhistlepig: I thought it was Buletproof Security plugin as well, and I believe we both are right. I made another thread about this, you might want to check that out, especially my second post.

    I don’t know if it is applicable to YAPB, but it works for thumbnail.

    Cardan: I’m not really sure when it happened. I know I tried disabling every single plugin, but it did not help, which leads me to believe it happens (as you say happens with Buletproof) after installation. So disabling doesn’t do anything since it already caused the damage.

    With that being said, I’m also not sure how many other features of WordPress (if any) are affected by this.

    Btw, did my solution work for you?

    Just to clarify (since my first message seems a bit misleading), the media.php file is in /wp-admin/media.php. This file calls the function get_media_item() which is in /wp-admin/includes/media.php. The line I changed (in my file anyways) was line 1294..

    Hope this helps.

    @infolock Bulletproof security leaves behind the .htaccess file even after disabling/removing the plugin. Yeah I wouldn’t hack WordPress core files to achieve the solution. I’d just remove the bulletproof .htaccess and replace it with an .htaccess generated by WordPress. I’m assuming that either the wordpress core files (media.php) contain poorly written javascript that looks to bulletproof security like XSS, or bulletproof security contains poorly written .htaccess directives which break the Javascript. Either way I think the solution lies with one of them or using @cardan‘s method of commenting out each line of the BPS .htaccess until solved. Hopefully someone from WordPress or Bulletproof Security sees this thread and offers a final solution.

    Anyone try this out on WordPress 3.03 to see if it’s been addressed?

    @infolock: Unfortunately it wasn’t work for me. Like crazywhistlepig said, Bulletproof security leaves behind .htaccess file, so if (and I am 99% sure) this was the problem for me, then I guess hacking the core wont change anything. Due to the nature of this problem (and of course, this is the public forum) let’s just say Bulletproof security disabled user to change a certain file. While I am sure this is done in a good intention, it is also preventing user to change / use featured image.

    @crazywhistlepig: About a week ago, one of my problem is user (Author) can make changes and use other Authors’ images (not text-posts) because they can access the same gallery. I managed to hide the “Gallery” featured in Author level, and **maybe** this is the last update is all about. I mean, it should be obvious isn’t it? If an author can’t even access other Author’s text-post, why should they be able to access other’s image?

    But, as I said, I have removed the gallery altogether before the update so.. although I have upgraded to the last version, I won’t fix what’s not broken hahaha.. When I have the time I would try to remove the code and see if 3.0.3 “fix” this issue, shouldn’t take so long, but for now, I’ll leave my code.

    because they can access the same gallery

    *Media Library

    Yep came across this thread in my travels and will have a solution once I fully understand all the specifics that caused the problem. So far it appears the a simple solution would just be to add an htaccess skip rule for just the media.php file, which would just skip all the BPS filters if the media.php file is called. The issue of Admin vs Author roles is a new issue altogether so this interests me very much. Like I said I still need more details before I can make a final determination of what the best solution would be – I have some details and waiting on some more before I can make a full assessment of why the problem is occurring and then apply the best solution. I typically go searching for any posted comments outside of my website every 2-4 weeks. Answering comments and questions posted on my site takes priority of course. Thanks.

    Also i see that there is an issue with YAPB Yet Another Photoblog plugin displaying images. I will create a skip rule for this plugin and test to make sure it works and post that here after testing is completed. A similar issue also exists with WordPress Themes using timthumb.php. A skip rule exists in the secure.htaccess file, but for whatever reason it does not work on every Theme – 50/50 depends on the Theme. There is a workaround fix for now until i can add a permanent solution that will work for 100/100. And actually it is not a matter of poor coding as far as i can tell. It just appears to be one of those things. Also htaccess directives are very straightforward / literal so it’s just a matter of having the exactly correct rules for any particular website. I’m actually pretty amazed that with the thousands of Theme variations and other factors that BPS works right out of the box in about 99% of all cases. 😉 I expected something more along the lines of 80% and then additional tweaking being required per site. Thanks.

    YAPB htaccess permanent fix. htaccess filters skip the entire plugin folder. YAPB uses the phpThumb thumbnailing library, which is similar to timthumb. This htaccess skip rule skips applying filters to any files associated with the YAPB plugin. Tested working both in Admin on the post edit page the image is diplayed and on the post itself.

    # YAPB phpThumb image fix
    # If you have WordPress installed in a subfolder you will need to add the
    # subfolder name to the RewriteCond /blog/wp-content/plugins/yet-another-photoblog/ [NC]
    RewriteCond %{REQUEST_URI} ^/wp-content/plugins/yet-another-photoblog/ [NC]
    RewriteRule . – [S=15]

    Still waiting on more info for the media.php Author issue.

    The featured image upload issue in Author Role turned out to be another problem altogether with actual ISP connectivity. The set-post-thumbnail.js jQuery script was not completing due to a connectivity problem. In general BPS should not affect WP Roles whatsoever because BPS is operating at the server root level via htaccess.

Viewing 15 replies - 1 through 15 (of 32 total)
  • The topic ‘Use as featured image link not working’ is closed to new replies.