wp print_thumbnail function is not working

2019-02-20 21:40发布

问题:

wordprees print_thumbnail function is working correctly on testing server but it's not working on online server and giving wrong image path such as */var/www/vhosts/vinehospitality.co.za/httpdocs//wp-content/uploads/2011/12/slide-10-108048_56x56.jpg*. So kindly help me to get proper url.

Link of website: http://vinehospitality.co.za.plesk15.wadns.net

Same problem is found in hosted on this server.

Regards Neeraj

回答1:

Not only did it work, it was SO MUCH easier for me.

Simply, delete whatever custom link you have in Media Settings. If you don't have one just put anything there..

Then save, again, put back the original path you have before, save.

Worked!

Somehow it seems wordpress reads the wrong values when you move servers and you don't resave media settings.



回答2:

POSSIBLE FIX 2

Look, I've seen this problem on other threads and on other websites and no one gave information that helped most of the people with this issue, so since I somehow got my broken site to work, perhaps it will help the others who did not get their problem solved.

Here's a little background... I needed to move a wordpress site located on a dev server to the live server. They were different domain names of course. First of all, I should have followed Moving Wordpress instructions and updated the site url before I exported the database, but... I didn't because I'm obviously too cool for instructions.

In order to transfer the site, I zipped up the files and transferred them to the new server and unzipped them. Then I edited wp-config and pointed it to the new database.

I used phpmyadmin to export the old database and I imported it to the new database.

Then I ran a query on the wp_posts table to do a string replace on the guid field and replace all instances of the old domain name with the new domain name.

Then I checked in wp_options and changed 2 records to replace the old domain name with the new one. I think they were something like siteurl and home.

Everything seemed to be working fine except the theme was mangling the img urls, prefixing them with the absolute filepath.

I figured I must have missed some records in the database that give the print_thumbnail function whatever information it needs to output the right url for the img's src attribute.

I thought if I could change a setting somewhere and change it back, maybe wordpress would automatically fix the issue for me, and I was lucky.

I played around with several settings and what finally worked was:

I went to Media Settings and I unchecked Organize my uploads into month- and year-based folders -- I don't know if this had much to do with the fix.

I also changed the Store uploads in this folder to something like wp-content/uploads2. I never created that folder, but I just wanted to get it to overwrite whatever was controlling that value.

I checked the site again and there was a change to the html source... now, it didn't even give the img tags a src value... it was just like <img src title="blah blah" />, so I figured I was on the right track.

So then I went back and changed Store uploads in this folder setting and left it blank as it was originally.

After I did that, the img src values were correct.

Hope this saves someone some time.

Also, I should note, I played around with altering the file permissions for the wp-content directory. I wish I hadn't. I get the gist of file permissions, but I tend to try not to fool with them if I don't have to. Using Filezilla is a pain to change the file permissions because it takes forever. Unfortunately, as most clients, this one had a prior affiliation with their web host and refused to take my advice and host their site on a VPS that would be cheaper and allow me to use SSH and get work done much easier. I wonder if there's a fast way to chmod multiple files without ssh, I should look into that.

Cheers,

Will



回答3:

Will's approach fixed the error for me, and was in fact the only answer that worked. This question is posted hundreds of times, so I figured I'd summarize the answer in short. I'll post the answer first and the research details after.

  • Login to WordPress
  • Goto Settings > Media
  • In "Uploading Files", modify the "Store uploads in this folder" to "http://www.yourdomain.com/wp-content/uploads2"
  • Notice the "2" added to the folder-name
  • Delete any entries in "Full URL path to files"
  • Save changes
  • Now your site should already show some images again
  • Do all this again but now change it back to "http://www.yourdomain.com/wp-content/uploads"
  • Save changes

This finally worked for me.

Gathering from other sources, this occurs mostly after moving a website from one location to another. Other fixes I did prior to this:

  • Within MySQL, replace the old URL in the GUID values in "wp_posts" to the new URL
  • Change "chmod" settings (it you never had any prior issues, don't)

Many other answers to this issue included changing chmod to give access to the files, which didn't do anything but crash the website. Other solutions would've been to change the code entirely to use a different function. I figured it's not broken, just missing a setting. Turns out that was the fact.

It worked for the domain http://www.in1week.nl, which runs on a modded DeepFocus template by ElegantThemes.com. The theme uses "timthumb" in the function "print_thumbnail()", which may have caused the issue. This reset the value needed to use the function.



回答4:

I faced the same problem and had to look around a lot in search of an answer. After my host moved servers, thumbnails weren't appearing on the home page and category pages. Looking up the source showed me that the path generated for the thumbnails was incorrect. Instead of http://.. in the image paths, I was seeing absolute file paths in the server, such as /home/..

Couple of solutions that seemed to have worked for others did not work for me.

What did not work:

  1. Changing permissions of wp-content/uploads and all the directories under it.
  2. Changing media settings and again reverting back to original settings.
  3. Using 'the_post_thumbnail' instead of 'print_thumbnail' function helped the thumbnails come back, but I am no programmer and could not figure out how to make the_post_thumbnail function work exactly as it was working with print_thumbnail

What worked:

In my many searches, I read someone saying that the problem was fixed by correcting the path for 'et_images_temp_folder' in the database. I ignored this for a while since I did not understand what it meant. Later, I searched wp_options table and found that it had the following entry.

option_name: et_images_temp_folder option_value: /home/painteds/public_html/darter/wp-content/uploads/et_temp

When the servers were moved my home dir was changed from /home to /home3 Perhaps print_thumbnail was searching for /home folder, and was malfunctioning when it could not find it. Updating the database with the new value fixed the problem for me.



标签: wordpress