TimThumb is a popular image resizing script that was created for Mimbo Pro - but it's never worked properly with WordPress MU, so I wanted to change that.
The reason it doesn't work is quite simple. Because of the way WordPress Multisite (formerly WordPress mu) runs multiple blogs it uses a server rewrite rule to point to media uploads. This in turn means that the file paths for the images do not actually exist in the way they are used in blog posts.
People have asked me how to make TimThumb work with multisite quite a few times, but now I've looked into it I have concluded that TimThumb doesn't need changing - it does what it's told to (resize images). What needs to change is the file path of the media being resized - which means we need to alter our themes to work with multisite. For reference all Pro Theme Design themes, including Elemental, already have this functionality included.
I want to emphasize that you can not modify TimThumb to work with WordPress MultiSite (or mu). Changes you make for your website are unlikely to work for other peoples. Editing your theme to support TimThumb is the best way to go, and it's surprisingly easy.
When using TimThumb I would recommend using the latest version of the plugin, and passing it the absolute url of the image you want to resize - however for WordPress Multisite the path on the server does not match the website path, and you need to take this into account.
The first thing to do is create a function to grab the image path (and not just echoing a get_post_meta value). This will make future changes easier.
We should then do a series of things to get the correct file path for the image.
- Determine if the theme is being used on WordPress Multisite or WordPress normal
- Determine if the image is on the blog domain or some other domain
- Work out the blog ID
- Calculate the file location based on the gathered info
Which turns into code that looks something like this:
$theImageSrc = 'path/To/Image.jpg';
global $blog_id;
if (isset($blog_id) && $blog_id > 0) {
$imageParts = explode('/files/', $theImageSrc);
if (isset($imageParts[1])) {
$theImageSrc = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1];
}
}
Pulling this together
Since most themes use a custom field to store the thumbnail image path a PHP function to calculate the image location would look something like this:
function get_image_path ($post_id = null) {
if ($post_id == null) {
global $post;
$post_id = $post->ID;
}
$theImageSrc = get_post_meta($post_id, 'Image', true);
global $blog_id;
if (isset($blog_id) && $blog_id > 0) {
$imageParts = explode('/files/', $theImageSrc);
if (isset($imageParts[1])) {
$theImageSrc = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1];
}
}
return $theImageSrc;
}
Awesome.
I'm gonna be handing this out to everyone now. Especially the devs of themes that aren't working right.
October 11, 2009
That's great Andrea - thanks
I've tested it a reasonable amount myself but I really hope it works for others, and would welcome any feedback you might have.
October 12, 2009
Andrea redeems his promise! I came here using his reference!
Thanks, Andrea and Ben
October 17, 2009
Hi Ben,
This is really great, thanks for posting it!
October 12, 2009
Hey Adam - let me know how you get on with this, I am sure it could do with some tweaking
October 12, 2009
Hi Ben, i need your help. As you can see on my website(studionews24.com) i use timthumb for the images preview. And my problem is that sometimes these images don't load and if a want to show them i have to refresh the page. How can i get all images load at the same time without problems of view? I wait an answer, thanks for the help.
Giulio.
September 28, 2012
Thanks a lot Ben!
I'll implement this into our themes at Woo, so there will be no more tweaking the path in thumb.php manually for WPMU users
October 12, 2009
Hey Magnus - that's great. Let me know if you need any help. Happy to help improve the process
October 12, 2009
Assuming you mean WooThemes, I'm still having trouble with the Olya theme on a subdirectory network installation.
August 26, 2012
Hi Ben, great post. By a fluke I was working on exactly this last week for a site running WPMU and using the Arras theme. I implemented a fix for it using the exactly four steps you mentioned, which I completely agree with.
The Arras theme has a library file (/wp-content/themes/arras-theme/library/template.php) that prepares calls to timthumb as well as doing other stuff. The following code is the tweaked version of the arras_get_thumbnail function, I found that three lines fixed Arras for WPMU... I think that this tweak should work for most sites:
function arras_get_thumbnail($w = 630, $h = 250) {
global $post;
$thumbnail = get_post_meta($post->ID, ARRAS_POST_THUMBNAIL, true);
if (!$thumbnail) {
return false;
} else {
// *** Added lines follow, copy these into your template.php file ***
global $blog_id, $current_site;
preg_match( "//files/(.*)$/i", $thumbnail, $matches );
$thumbnail = "http://" . $current_site->domain . $current_site->path . "wp-content/blogs.dir/" . $blog_id . "/files/" . $matches[1];
// *** end of added lines ***
if (ARRAS_THUMB == 'phpthumb') {
return get_bloginfo('template_directory') . '/library/phpthumb/phpThumb.php?src=' . $thumbnail . '&w=' . $w . '&h=' . $h . '&zc=1';
} else {
return get_bloginfo('template_directory') . '/library/timthumb.php?src=' . $thumbnail . '&w=' . $w . '&h=' . $h . '&zc=1';
}
}
}
Hope that's helpful,
J
October 13, 2009
Hey James - that's great. Good that we both came up with basically the same solution as well, it confirms that I was thinking along the right lines
You should point the developer of Arras this way so that he can update the core theme to work properly.
October 13, 2009
Brilliant James. I was about to pull all of my hair out trying to get Arras to work with WPMU, but this works perfectly.
Thanks for posting it.
October 16, 2009
Hey Dan,
Did you manage to get Arras displaying thumbnails from secondary blogs on the master blog page on your WPMU installation? It doesn't seem to work correctly
thanks
Mark
October 19, 2009
Hmm.. just in time for WP 2.9's (and presumably MU 2.9) Post Thumbnail feature
Seriously though, having used TimThumb in a few projects, I know the benefits (and some pitfalls too), but others may not. Perhaps a followup post about how TT compares with 2.9's Post Thumbnail feature.
October 13, 2009
You know what - I was thinking about this as well
The new post thumbnail functionality is nice but there are too many drawbacks for (serious?) theme developers to want to use it. Nice idea though - and I will probably be using the new function as part of the theme process... but it will still tie into TimThumb in the end
October 14, 2009
That sounds great! This I want to see!
October 14, 2009
It will only be great if it works
October 14, 2009
I'm trying hard to get a handle on making this work in mu. I went ahead and added the function you gave us in 'pulling this code together' to my theme functions.php file.
Now I am trying to modify the template to work with the new function.
Here is an example of a thumbnail being put onto a page in my theme, prior to the wpmu upgrade
<img class="box" src="/thumb.php?src=ID, "thumb", $single = true); ?>&h=180&w=581&zc=1&q=80" alt="" />Here is my 'best guess' at what it now should be with the new function from my theme's functions file, although it does not seem to work.
<img class="box" src="/thumb.php?src=&h=180&w=581&zc=1&q=80" alt="" />
Could someone please let me know what I am doing wrong, and why I am wrong so that I can learn from this?
thanks
October 14, 2009
code did not paste in above properly, let me try another route with spaces added where they should not be to see if this blog allows it to show up right.
<img class="box" src="/thumb.php?src=ID, "thumb", $single = true); ? >&h=180&w=581&zc=1&q=80" alt="" />
my moded vs.
<img class="box" src="/thumb.php?src=ID, "thumb", $single = true); ? >&h=180&w=581&zc=1&q=80" alt="" />
October 14, 2009
Ok, I give up trying to paste in code here as it keeps changing what I am putting in, and I can't edit my comments.
I uploaded a txt file http://anointed.net/downloads/timthumb.txt with the functions I am using.
If someone could take a peek and give me some direction, I would really appreciate it as I am still trying to learn php.
thanks
October 14, 2009
please, can anyony explain. where to insert the code? (filename)
thx, peter
October 15, 2009
Hi Peter - unfortunately "where" you place this code will differ from theme to theme, so I can't tell you where specifically. I would recommend asking the original theme author if they will help you integrate this as they will know how to do it the best.
October 18, 2009
Hi,
I've been working with James on the above post. We successfully got the script working on MU. Came across another problem though
http://trashedmag.com/members/blog/category/recent/
It's pulling in the posts from the blogs to the main page fine, but the thumbnail script doesn't seem to work in this instance. Does anyone have any ideas on how to fix this problem
thanks
Mark
October 16, 2009
Trying to get this to work on a site that I am developing. Rather then using a custom field, I am using the awesome catch_that_image function. Having a few issues, wondering if anybody has thoughts on how to get my code to work...
Here it is on PasteBin
Thanks!
October 21, 2009
Thanks that will come in handy.
October 24, 2009
Hey Ben! Thanks for this! I've been struggling for timthumb to work on wpmu and it finally does!
I implemented this for the The Morning After theme, because the plugin it natively uses totally meses up wpmu to the point that when activated the Dashboard is completely unaccessible! So I tried using timthumb and I noticed the url problem.
I had to edit your function only slightly:
$theImageSrc = '/wp-content/blogs.dir/' . $blog_id . '/files/' .
I have been working two weeks to get proper Thumbnails on my site!
Thanks again!
November 8, 2009
Hi Alec, glad it works for you. And thanks for the tip for getting TimThumb to work on your site. I can see that being useful for other people as well.
November 8, 2009
Alec, I'm also struggling with timthumb on my wpmu site. Could you tell me what previous code on your theme you had to replace with the function Ben outlined?
November 10, 2009
Hey, Peter. I changed the single line I posted on my previous comment.
A lot of people have trouble getting timthumb to work. The best way to go is to identify first if the script itself is not working or if the problem lies with your hosting company.
1. Put timthumb on your root folder. Create the cache folder.
2. Copy a random image to you root folder.
3. Now call the image from your browser using timthumb http://www.domain.com/...38;zc=xxx&h=xxx&w=xxx
If it works but it doesn't work in your theme it's because of wpmu's strange url system. That's where Ben's code comes in handy! At first it still didn't work but it was only a question of adding "/wp-content" to the full path. See my previous comment.
I am calling the thumbnails in my theme thus:
<img src="/timthumb.php?zc=1&w=470&h=175&src=" />I am with Hostgator. When I first used timthumb with the Theme "Magazeen" it worked. Then I switched to Mimbo, the theme is was actually developed for and it stopped working. Odd. That was with the "normal" wp, not wpmu! Then I decided to go for the theme "The Morning After" with wpmu but using timthumb instead of Post Thumb Revisited. With Ben's code - thanks again, Ben! - and this advice http://code.google.com/...imthumb/issues/detail?id=8#c16 my problems were solved!
November 11, 2009
Ben,
Could you clarify - where do I put the followings: (Do I have to replace something else in the process?)
"function get_image_path ($post_id = null) {
if ($post_id == null) {
global $post;
$post_id = $post->ID;
}
$theImageSrc = get_post_meta($post_id, 'Image', true);
global $blog_id;
if (isset($blog_id) && $blog_id > 0) {
$imageParts = explode('/files/', $theImageSrc);
if (isset($imageParts[1])) {
$theImageSrc = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1];
}
}
return $theImageSrc;
}"
November 10, 2009
Peter, you have to copy that code into your theme's functions.php file.
Some code in my last post wasn't rendered correctly. I call the thumbnails thus:
Ben, if the code is still not correctly rendered, could you edit my comment? Thanks.
November 11, 2009
Hi Alec,
Thank you for suggesting that test.
It does indeed work on my server, but I can't get it to work in my theme (Magazine Basic - WPMU)
This is the code I added to function.php
function get_image_path ($post_id = null) {
if ($post_id == null) {
global $post;
$post_id = $post->ID;
}
$theImageSrc = get_post_meta($post_id, 'Image', true);
global $blog_id;
if (isset($blog_id) && $blog_id > 0) {
$imageParts = explode('/files/', $theImageSrc);
if (isset($imageParts[1])) {
$theImageSrc = '/wp-content/blogs.dir/' . $blog_id . '/files/' . $imageParts[1];
}
}
return $theImageSrc;
}
Where do I put bit?
December 9, 2009
Hi Alec,
Thank you for suggesting that test.
It does indeed work on my server, but I can't get it to work in my theme (Magazine Basic - WPMU)
This is the code I added to function.php
function get_image_path ($post_id = null) {
if ($post_id == null) {
global $post;
$post_id = $post->ID;
}
$theImageSrc = get_post_meta($post_id, 'Image', true);
global $blog_id;
if (isset($blog_id) && $blog_id > 0) {
$imageParts = explode('/files/', $theImageSrc);
if (isset($imageParts[1])) {
$theImageSrc = '/wp-content/blogs.dir/' . $blog_id . '/files/' . $imageParts[1];
}
}
return $theImageSrc;
}
Where do I put THIS bit?
img src="/timthumb.php?zc=1&w=470&h=175&src=" /
December 9, 2009
Hi Peter - sorry I didn't respond earlier. The code you have posted looks like it should function correctly. Do you have a link I can look at to see if I can suggest anything else?
November 11, 2009
Thanks Alec,
I have isolated the issue and it is definitely timthumb having trouble working with WPMU. As Ben stated above, the more correct view is that the theme author did not design it to work for WPMU. I followed your suggestions Alec but still unable to get the theme to work. I think my php is not good enough to fix this. After 6 days, I'm cutting my lost and looking for a different theme. Thanks again for all your time and help.
November 11, 2009
I'm a design and not a developer but I've been asked to work with the Arras theme and I can't get the Timthumb.php to work. I'v tried everything and I'm slowly loosing my marbles! If there is anyone that could help I would be grateful. The site is still work in progress and hasn't a domain yet. So if you can contact me directly I will pass the access details on by mail.
If I can't get the site working I'm going to need to change themes which at this stage isn't the best solution. Or if you can tell be the easily way to disable this function, that would also be great.
thanks nik
November 29, 2009
Hi Nik - There is a contact page in the footer of my site
I tried visiting your site but it seems to require a login to view anything. If you can send me a working link to your website and an ftp login then I should be able to get TimThumb working really quickly.
November 30, 2009
Hi Ben, sorry to post comment bunch like this. regarding last comment on this post, my timthumb script cannot use full domain url (starting from http). if src=/wp-content/ then it's fine. but if start from http://domain.com/wp-content/uploads/image.jpg it will return no image. i'm googling around for this for whole day today. thanks for help. I really appreciate your time.
November 30, 2009
Not to sound like a dick, but it sounds pretty self explanatory to me. If your using custom fields simply remove domain.com from the field, ie. /wp-content/uploads/image.jpg
Or alternately, not positive as I use the method above, add your domain to "$allowedSites" on line 546.
December 17, 2009
Not to be a dick but your self explanatory solution doesn't work for WPMU subdomains since each blog is created in a different directory folder such as: wp-content/blogs.dir/1/files/2010/01/logo-300x67.jpg which can be a real pain in the ass if anyone expects their computer illiterate customers to upload an image and then figure out what blog/year/month folder their image resides.
January 26, 2010
As far as I am aware it does work in that format. This problem only occurs if the theme is poorly developed. If you use my own theme, Elemental, then the image urls are automatically detected and the computer illiterate clients don't need to do anything besides upload an image.
January 26, 2010
can you help get it to work for this theme? fullscreen wordpress theme:
http://graphpaperpress.com/...ullscreen-wordpress-theme/
February 2, 2010
I've been working on trying to get this to work with a theme all day long with no luck so far.
Basically I am trying to write a function that will grab the first image in a post, so that I can reference that function within the template for timthumb to make a call to it.
Could you please provide a simple function that will search a post for the first image, and return a url that can be used with timthumb?
I did manage to use your function to successfully grab the thumbnail if it's defined as a custom field, but would like to expand that to simply search the post for the first image instead.
that is where I keep getting stuck.
thanks so much for your time
December 4, 2009
I should add that I am using wpmu
December 4, 2009
How would I go about adding this to "WooTube Theme"? I have tried numerous times and failed.
Here is the code:
function woo_get_image($key, $type, $width = 0, $height = 0, $class = "thumbnail", $quality = 90) {
global $post;
$custom_field = get_post_meta($post->ID, $key, true);
if($custom_field) { //if the user set a custom field ?>
<a title="Permanent Link to " href=""><img src="/thumb.php?src=&h=&w=&zc=1&q=" alt="" class="" />
<a title="Permanent Link to " href=""><img src="" alt="" class="" />
December 8, 2009
Hi,
I'm ussing news theme from studiopress. I have a wordpress MU installed on my root folder as subdirectories.
The news theme has a file named timthumb.php and in the main page has this code:
have_posts()) : $recent->the_post();?>
ID, "thumb", true) ): ?>
<a href="" rel="bookmark"><img class="thumb" src="/tools/timthumb.php?src=ID, "thumb", $single = true); ?>&h=&w=&zc=1" alt="" />
Could anyone help me please please, i'm willing to pay something (my budget is tight) to fix this,
Thanks,
December 14, 2009
Link bait. I ended up using the WP plugin Get This Image... Not the solution I wanted.
December 21, 2009
Looking at it Ben, I'd like to point out that it outputed this URL, which is a broken image, if you visit it, it says "file not found /resources/2009/12/Kerli1226-213x300.jpg"
http://fairhaven.tv/...pg&w=100&h=50&zc=1
December 21, 2009
Okay, I take that back. I discovered something interesting to point out.
I looked around for the cache directory that stores these thumbnails, figured out it was set to 755. It is located under [theme_directory]/cache - I chmod the directory to 777, BAM, works. Why does it not work with 755? How can I make it so that it works automatically without having to chmod the directory every new theme???
December 22, 2009
It's a security issue. 755 is more secure the 777. You are effectively limiting write privileges.
December 22, 2009
hello Ben! i would like to ask a question. im using the infamous original premium news wordpress theme. the problem is about the infamous FEATURED feature... not showing the image and such. i used the timthumb script, it worked on my offline wordpress site. But its not working on my online wordpress site. my host is 000webhost. could it be about the host? thanks!
January 11, 2010
What if the theme I'm using (studiopress' agent theme) uses several different custom fields?
The "thumb" field is used for the home page (I have this working with the code here), but the listing page uses a custom field and each is numbered:
_photo_1_large
_photo_2_large
_photo_3_large
_photo_4_large
How can I incorporate all of these fields into the code? If I take the line:
$theImageSrc = get_post_meta($post->ID, "thumb", $single = true);and change it to
$theImageSrc = get_post_meta($post->ID, "_photo_1_large", $single = true);then that particular custom field works. So (because I'm a terrible coder) how do I edit this code to be able to work with multiple fields?
Whew, thanks for even reading this far!
January 20, 2010
I'd change the get_image_path function to accept some extra parameters
get_image_path ($post_id = null, $fieldname = 'Image') {
and then change the get_post_meta command
$theImageSrc = get_post_meta($post_id, $fieldname, true);
then you can tell each area which custom field to use
January 20, 2010
Thanks for the reply! I'm stoked to get a response.
I've updated the get_image_path as you specified and indeed when I set the $fieldname to any of the custom field names I get the desired results...
But alas, I am still too ignorant to see how that allows me to do multiple items. Can I create an array for $fieldname? Should I simply specify the custom field somewhere else in the code? I will find the answer to this! Of course, any more guidance you can offer is much appreciated.
-masonjames
January 20, 2010
I am afraid I don't know how the theme is made so without seeing it being used I can't really suggest any more.
What I would do is look through the templates for where the thumbnail is being inserted and then call the get_image_path function in the correct location changing the fieldname depending upon what is required.
January 21, 2010
Thanks for sharing this... Finally it's works on my MU blog.
January 22, 2010
Hi Ben,
Any chance of doing a video tutorial? The lingo is all new to me so being able to see someone actually go through the motions is a big help.
Thanks!!
Courtney
January 26, 2010
I don't think this is practical. Every theme is different so making the customisations for one theme would not work in another theme so any video would have to be done for every theme. I should think most programmers will be able to work through the description I posted above and if there is anything in particular that's not clear just let me know and i'll see if I can clarify what I mean.
January 26, 2010
To anyone who can help fix timthumb:
Here is the php code that calls timthumb:
<img src="/timthumb.php?src=ID, "image_value", true ); ?>&w=320&h=320&zc=1" />
Here is the file post-image.php:
get_the_ID(),
'post_type' => 'attachment',
'numberposts' => 1,
'post_mime_type' => 'image',)))
{
foreach( $images as $image ) {
$attachmenturl=wp_get_attachment_url($image->ID);
$attachmentimage=wp_get_attachment_image( $image->ID, $size );
$imagelink=get_permalink($image->post_parent);
echo ''.$attachmentimage.apply_filters('the_title', $parent->post_title).'';
}
}
}
function getimage($size=medium) {
if ( $images = get_children(array(
'post_parent' => get_the_ID(),
'post_type' => 'attachment',
'numberposts' => 1,
'post_mime_type' => 'image',)))
{
foreach( $images as $image ) {
$attachmenturl=wp_get_attachment_url($image->ID);
}
}
return $attachmenturl;
}
?>
January 31, 2010
Can someone please help me. I am relatively new to wp & with my theme, i am running into this issue--the thumbnails wont appear because i am using wpmu. I know this post is the solution, but i just can't work it out into the code. any specific guidance would be amazing. really, all i want is to get my site running. i need to know where exactly the code goes and what needs to be replaced. sorry for being wp illiterate, but im trying to learn.
thanks so much. any help would make my day =)
February 3, 2010
I am using this with wpmu just fine, but I just ran into an issue I can't seem to solve.
My primary install is xyz.com using subdirectories, so I would have an account 123.xyz.com
Doing that works perfectly.
Where I run into problems is when I use the domain mapping plugin. This results in 'remote host not allowed' errors.
example:
http://cpnc.org/
Notice the thumbs do not show. Yet if you open the thumbnail image in another window you get the error about remote hosts not allowed.
Now if I change the url to the 123.xyz.com instead of the mapped domain, then the image shows up.
What is the solution to this?
(what is really strange is it was working perfectly until today. The only change I made was adding in the members plugin. Even uninstalling the plugin makes no difference, so really I have no idea why it just stopped working all the sudden)
thanks
February 8, 2010
To add to my comment about domain mapping above:
If I try to add in the 'mapped domain' to the timthumb file, then it tries to create the thumb in the directory which of course does not work, because the file is already on the server.
Basically the problem is only with mapped domains in wpmu
February 8, 2010
I am calling images with a custom field and I have used Timthumb in the past to size them, etc. I know that MU has trouble dealing with the url path to the image and I have found this ::: http://www.binarymoon.co.uk/...10/timthumb-wordpress-mu/ although I have not been able to get it to work, i am hoping someone can look at my code and give me some suggestions.
First, I am calling custom field like this::: the image gets pulled from a custom field called Thumbnail, and I want to use timbthumb to size the image. When I put a direct path to the actual MU uploaded image it works http://domain.com/wp-content/blogs.dir/1/files/2010/02/... But I would to make it so I can just upload the image and not deal with finding that path, etc... so here is my call for the custom field.
ID , 'Thumbnail' , false );?><img src="/timthumb.php?src=&h=300&w=550&zc=1" alt="" width="600" height="300" />
Then, I placed this code into the functions.php file
function get_image_path ($post_id = null) {
if ($post_id == null) {
global $post;
$post_id = $post->ID;
}
$theImageSrc = get_post_meta($post_id, 'Image', true);
global $blog_id;
if (isset($blog_id) && $blog_id > 0) {
$imageParts = explode('/files/', $theImageSrc);
if (isset($imageParts[1])) {
$theImageSrc = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1];
}
}
return $theImageSrc;
}
Now it did not work, I am pretty sure I need to modify some code here, can anyone suggest what can be done with what I have going here? Thanks a ton... I feel like I am close but not quite there.
February 21, 2010
Looking forward to getting this to work
February 21, 2010
Anyone get this working with Woos Newspress theme?
Just wanted to thank Ben by the way. Very saddend that woo (Woothemes)would not help in this case :'(
February 22, 2010
Using "premium news" wootheme.
What am I missing? I added the code from this blog to the Functions.php file.
I then changed the code in the default page
from:
<img src="/thumb.php?src=ID, "image", $single = true); ?>&h=57&w=100&zc=1&q=90" alt="" class="th" />
to:
<img src="/thumb.php?src=&h=57&w=100&zc=1&q=90" alt="" class="th" />
Yet now it outputs
"no image specified"
What am I missing?
February 23, 2010
I noticed the issue when I moved over and all thumbs were grey blocks (they still are). When however I rightclick on one and then choose "view image".... it downloads timthumb.php. I mean really the php file itself which then resides on my harddisk.
See: http://farmvillechicken.com unless you read this after a day then hopefully I have coded something. I have posted a thread in the forum of the theme I am using hopefully someone will create an update for it: http://swiftthemes.com/...p?435-TimThumb-php&p=1460
THANX for the blogpost! took me a long time before I found this post, but definitely worth reading the post and the comments.
February 27, 2010
Ben,
Thanks for this wonderful plugin. I have managed to integrate it very successfully with my theme, Suffusion.
However I am facing a few hiccups with getting it to work with MU. The point where I believe it is failing is the check for $blog_id, I believe. Based on your code, if we are on MU only then $blog_id will be existing and non-zero. However when I try this with my regular WP installation it returns a value of 1. Ideally this wouldn't have been a problem, because the subsequent condition, exploding $theImageSrc on the "/files/" wouldn't work in a WP installation, so the file source will remain untainted.
Where I am facing a problem is that I had changed the back-end file paths in the actual script to write to the "uploads" folder. So my "cache" and "temp" folders are both in "uploads" in a WP installation. I guess you can see where this is going - since the paths on my back-end are different from what you have in the script by default, I have to change the path if the installation is of MU. Unless there is a foolproof way of determining if the installation is a WP or a WPMU installation, this cannot be done.
To cut a long story short my question is whether this can be conclusively determined? Or should I wait for version 3.0 of WP? I did see your post on WPTavern, where you too were looking for a concrete method to draw the distinction between WP and MU.
Thanks,
Sayontan.
March 2, 2010
Hi,
I don't know if anyone is still looking at this thread.
I'm running my wpmu site on MAMP currently.
I'm having trouble getting this solution, which I can see should work, to work. I tried the test suggested above and timthumb is in theory working on my site.I know it is the file path of the image that is causing me problems.
I have a very basic (read:stupid) question:
After I place the function in functions.php,
do I call the function in the document itself? Like get_image_path () or something?
And then do I put the $theImageSrc variable in the image tag with php echo?
Probably not, since it's not working for me, but I have the feeling I'm missing something glaringly obvious here.
If anyone has what I think is probably a quick answer to this, I'd really appreciate it! Please forgive my vague notions of php usage.
March 25, 2010
Hi there,
I still can't get this work. I have a WP site with the Premiumnews theme installed form WOO Themes.
Sometimes the thumbnails don't show up. Has anyone an idea to fix this?
April 2, 2010
I actually spoke to the guys at Woo about this. Have you tried asking them how to integrate it? They should be able to help you on their support forums.
April 3, 2010
That is the problem, this is a free premium template sow i don't have acces to their support forum. Does anyone have a solution for this?
Thanks in advance.
April 3, 2010
timthumb is not getting internal or external images on the header preview!
how do i get it working for the theme?
this is the header.php code:
$xPicture = substr($xPicture, $xStart, $xEnd);
if(@fopen($xPicture,"r")) {
$xPicture = get_bloginfo('template_directory').'/scripts/timthumb.php?w=320&h=246&src='.$xPicture;
}else {
$xPicture = $xPicture;
}
this is the functions.php code:
if(!file_exists($wud['basedir']."/script/timthumb.php")) {
copy(TEMPLATEPATH."/scripts/timthumb.php", $wud['basedir']."/script/timthumb.php");
}
this it the code in the browser that does not work:
http://trekto.com/...10/04/boracay-ferry-pier-trekto.jpg
April 24, 2010
You are a genius and my hero tonight. Thanks for a great post that worked perfecto.
April 29, 2010
hi,
In my wordpress mu site blog im using newscast theme, then i use sitewide tags to display all the post in my sub-blogs to main blogs. my problem is the thumbnails are not displaying in my main blogs also the image in the homepage slider and not displayed. someone can help on how to work this issue?
I hope you can help in my problem
thansk,
fritz
May 6, 2010
Anyone with the Hyperion theme from themeforest been throu this?
I'm trying to find where to add the code!
June 9, 2010
Been messing around with this for the whole day!!
Hi, this really makes me pull chunks of hair of my head!!
And the people from themeforest whom I bought the theme from are to busy giving me direction on where to add the code!
In the root of my theme folder there is a file named functions.php
I tried to add the above code in that???
This file contains small amount of coding.
ex.
// Set path to theme specific functions
$functions_path = TEMPLATEPATH . '/functions/';
automatic_feed_links();
require_once ($functions_path . 'theme-options.php'); // Options panel
require_once ($functions_path . 'theme-comments.php'); // Custom comments
require_once ($functions_path . 'theme-shortcodes.php'); // Theme shortcodes
require_once ($functions_path . 'theme-widgets.php'); // Widgets
require_once ($functions_path . 'widget-func.php'); // Widget specific functions
require_once ($functions_path . 'sidebar-init.php'); // Register sidebars
The timthumb.php is in the following direction
/themefolder/inc/timthumb.php the timthumb version I'm using is this one.
http://www.binarymoon.co.uk/2009/07/timthumb-beta-test/ I really need to get this timthumb thing to work
I understand if it's varies from one theme to another but atleast a hint on what I should look for. and what the code I should edit, might look like or at least in what file it most likely should be.
Thanks a lot!
Namaste/ appleseed
June 9, 2010
You need to find out how your images are embedded currently before being able to make this work. I assume the images are already being resized, in which case you need to work out how the timthumb url is being generated, and then modify the code that does the thumbnail url generation. If the thumbnail path is created in the templates themselves I would turn them into a function that can be reused so that you only have to make changes in a single place.
June 9, 2010
Thanks a lot!
I will look in to this now!!
June 10, 2010
thanks for this!
i added the code to functions.php and edit some of the suggested code
i change
$theImageSrc = get_post_meta($post_id, 'Image', true);
to
$theImageSrc = get_post_meta($post_id, 'thumbnail', true);
the 2nd parameter is the custom field,
then i look into my wordpress template and check where the timthumb.php is being called and then i call the function get_image_path();
sample code:
<img src="/timthumb.php?src=ID,"thumbnail",true);?>&h=192∓w=216&zc=1" alt=""/>
replace it with
<img src="/timthumb.php?src=&h=192∓w=216&zc=1" alt=""/>
June 10, 2010 • @jlapitan
you need then to call the get_image_path function at the src. So you will replace you code with :
src= <img src="/timthumb.php?src=&h=192∓w=216&zc=1" alt=""/>
June 20, 2010 • @janvierdesigns
Works like a charm on wordpress 3.0 (multi blog enabled setup).Thanks
June 20, 2010 • @janvierdesigns
Awesome - thanks for letting me know
June 20, 2010
Hello, I am having an issue with this script. I have used the fix but I cannot seem to get it working. I am using the WordPress Thumbnail option, can I possibly fix it or do I need to use the Meta option. Thank you in advance.
June 24, 2010 • @coldfirezz
Can anyone help with the Scarlett theme? I cannot get the slide panel at the top to show images. I thought it was the timthumb file, but I have downloaded and replaced with the newest version. http://www.socialmediabuzz.org if you want to see what it is doing (or NOT doing, lol).
Any suggestions appreciated!
July 2, 2010
Hi, great post, but I am having trouble utilizing the Tim Thumb script for my blog. It seems whenever it auto crops and resizes the image, the file is always so big, if you can see on http://wordpress.themeshq.net/ . It is not that big of a deal, but as we know, google implemented in April speed into its algo, so anything to speed it up will help!
Thanks.
July 9, 2010
Ok. I'm no PHP expert so I'm looking to understand the code above. When I implements similar code on a multisite install the main blog (or site) with ID=1 is supposed to show images from the other blogs but $blog_id is always '1' on the main blog cos that's its ID.
Is the code above supposed to work in such a scenario (use the correct Blog ID where the image is from) or it only works if I'm in Blog 1 then $blog_id=1, Blog 2 then $blog_id=2, etc so on those sub-blogs (sub-stes) it will work but will not work on posts from other blogs.
Hope my ques makes sense??
July 15, 2010
Hello,
does anybody use this hack into eleganttheme template AND wordpress 3 multisite? I have big problem to integrate with ePhoto from eleganttheme - could anybody help me with this?
regards,
Daniel
August 11, 2010
Nice. I worked around this issue a little differently (http://andrewroycarter.com/...b-on-wordpress-multi-user/) but I'm glad to see there are other solutions. WordPress MU is so hard to dev for sometimes as there's way less info out there about it then plain jane wordpress >_<
September 17, 2010
Hi,
I have WPMU 3 and I use Freshlife theme.
I added the code at the end of function.php. It's that ok? And what else should I do?
I added the 2 files, function.php and index.php, just tell me where to add the code/codes?
http://expertzone.ro/download/functions.txt
http://expertzone.ro/download/index.txt
Could anybody help me implement this?
I will add other files if you need, just ask!
Thanks!
September 18, 2010
Anyone have any idea why the nivoslider and timthumb don't work on this website...for the life of me I can't figure this out. The post images and nivoslider images on the main page are not showing up!
Compare http://wildhorsesneedourvoices.com/ to http://www.aoclarkejr.com/themes/?themedemo=Modern-Wood
September 26, 2010
I'm not able to get it working on my site neither. I have these ugly thumblnails that say "No Image" and can't seem to get rid or edit them.
September 28, 2010 • @jamie23462
This sounds like a problem with your theme. I would talk to your themes developers as they will know the fix better than I
September 29, 2010
I'm afraid to say I'm completely stumped on this, my timthumb actually generates a working adress, but it won't show the actual images
October 15, 2010
Worth noting is that my theme doesn't use "Custom Fields" to generate the thumbnails
October 15, 2010
Thanks for sharing. This fixed my issue with the theme we are using on MU.
October 17, 2010
I've been trying this script to no avail. I'm got an image path that looks like "http://mysite.com/wp-content/uploads/2010/09/companylogo.png" that is set in a Theme Options page. I've modified your code above to be:
function get_company_logo() {
$theImageSrc = get_option('ipr_company-logo');
$imageParts = explode('/files/', $theImageSrc);
if (isset($imageParts[1])) {
$theImageSrc = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1];
} else {
$theImageSrc = "explode didn't seem to work";
}
return $theImageSrc;
}
Running this function, the result I get always is "explode didn't seem to work". Basically, the function never "sees" a "/files/" segment in the URL, so it doesn't have anything to "explode". Is that correct? What am I doing wrong?
This is a ground-up custom theme I'm building. The reason I'm using it this way (instead of the built-in thumbnail resizer) is that I want it to be very user-friendly for people to set a company thumbnail to use on the site and don't want to force them to set it on a "home" page or something like that (which would be unintuitive).
I'm running WordPress 3.0.1 as a multisite install.
Any info/advice would be much appreciated! Thanks!
--eric
October 18, 2010
Hello,
i've to use TimThumb to my WordPress MU blog, here is the actual code that does not work:
ID, 'blog_thumb_image_url', true);
?>
post_title; ?>
<img src="/timthumb.php?src=&h=300&w=460&zc=1" alt=""/>
post_content)), 300); ?>
<a href="guid, 'quick_view=1'); ?>" class="quick_view"><img src="/images/icon_quick_view.png" style="width:16px" class="mid_align"/> Anteprima
|
<a href="guid; ?>" title="post_title; ?>">Leggi l'articolo
How I've to change it, to make the preview of images work?
Thanks a lot, Rocco.
November 2, 2010
Thanks for all your help on this everyone:-)
For those of you who are wanting to get this working from the 'set feature image' function in posts try:
function get_image_path($post_id = null) { if ($post_id == null) { global $post; $post_id = $post->ID; } $thumbid = get_post_thumbnail_id($post_id); $theImageSrc = wp_get_attachment_url($thumbid);; global $blog_id; if (isset($blog_id) && $blog_id > 0) { $imageParts = explode('/files/', $theImageSrc); if (isset($imageParts[1])) { $theImageSrc = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1]; } } return $theImageSrc; }and
enjoy!!!
November 10, 2010
Hi Mart,
$imageParts = explode('/files/', $theImageSrc);
In this line what is that /files/.....
Is that the path of image where the images are stored?
Thankyou...
December 16, 2010
hi there,
The paragraphing of (indentation) of the image and it's short description is not appropriately alligned as you can see in my website (under recent post). Is it because I just upgrade my WP to the latest ver 3.02?
How can i fix it so that all thumbnails will be aligned correctly at the left side? not alternately like in my web.
Thanks in advance.
December 4, 2010
Hi - this has nothing to do with TimThumb or WordPress. It's all down to your theme and the content. I would suggest talking to the theme author as there's nothing I can do to fix it.
December 4, 2010
I'm completely stumped. I've dealt with the WPmu issues before and no where all of this is coming from. Then my page source would display img src="path/to/timthumb src=path/to/image.jpeg&w= h= or something of the like, with no images being displayed.
However, I've moved to a different server and initially had normal WP, and it wasn't working, then moved to WPmu. The problem I'm having now is that in my page source I get the path to timthum, but nothing shows up in the image path. Is there some kind of easy fix for this?
December 10, 2010
Looking at your website there is no source image specified at all.
December 10, 2010
I know, that's the problem. In my index.php file, the script has:
(? echo $image; ?)
after the timthumb.php source. I have this same exact theme and site running on my mamp system from my computer and it works fine. For some reason the echo image command is not working and I'm not sure if it's timthumb or something else. I'm not sure what the deal is.
December 10, 2010
The problem is the theme. TimThumb has nothing to do with what is displayed in the html - all it does is resize the image. I would ask the theme developer for help.
December 11, 2010
Thanks for all of your help! My fiance actually got it working last night. I had changed permissions to the scripts folder for timthumb.php and it didn't work. Then I updated timthumb. My fiance tried to change the permissions again and it did work.
The image source problem was actually with the php function: . I swapped that out with a different function and it began to call the image source.
Thanks again for all of your help. Its always hardest when there are multiple problems. It turns out that the image path and the images not showing were separate issues.
December 11, 2010
Hey Melissa - glad you got it all working
December 11, 2010
Hi Melissa,
Can you show me what you have changed in php functions.
where i have to include the image path in timbthumb.php?
What you have updated in timbthumb.php.
Please its urgent.
Thankyou
Paulin
December 16, 2010
Hi - you don't change anything in TimThumb itself. Update the script to the latest version and make sure directory permissions are set correctly. Editing the theme is the important part but you've give no information about your website or theme. As long as you followed the tutorial you should have the basics sorted.
December 16, 2010
Hi,
I am using Photoblog Theme .
http://www.jinsonathemes.com/demo4/
I cant find any images displaying in the site at localhost.
when i click one of the latest photos its has address like
http://localhost/wordpress/?photos=55
December 16, 2010
Looks like it's all working to me? Photos should not be loading from localhost, that's a theme/ WordPress settings and is not a problem with TimThumb itself.
December 16, 2010
I use a Classico theme I just purchased from ??? I've been working with the theme developer to get both feature images and the slider to display to no avail. After checking he suggested removing Timthumb and then sent me here. Here's a little info on the setup:
WPMU 3.0.4 + BP 1.2.7
Parent site: djohnsonfam.com - Images show no problem
My site: http://djohnsonfam.com/marvc - Feature images and slider images don't display.
Stumped as I've wasted money on a "premium" template and have no clue other than moving over to another theme and cutting my losses. I have access to Elegant Themes but haven't been able to locate a 2-column / 4 column footer template. What I'm wondering is if anyone here can take a look and determine if the issue is with Timthumb or the theme itself? If Timthumb then I'll put forth an effort and try the fix mentioned above.
Any responses appreciated.
January 13, 2011
Sounds like an issue with how the theme handles WPMU. Can't see the site at the moment so can't comment further
January 14, 2011
Searching for a new theme. Try it now.
January 14, 2011
Ok, I see it now. I'd recommend going through this page on fixing TimThumb errors. In particular, keeping TimThumb up to date and how to find out what the problems are.
January 14, 2011
Having the same issue with a new WPMU install at http://spreadable.info and the sub-domain http://infonode.spreadable.info. The sub-domain site is not displaying the thumbnail on the home page for the re-sized image on the sub-page. I know this is a "passing the sub-domain" issue and have read your answer link, but do not know where to add the code to the timthumb.php to make it work. Thanks for any suggestions.
January 14, 2011 • @spreadableinfo
Hi Ken - the code needs to be added to the theme rather than TimThumb, I would suggest looking in there to make your change.
January 18, 2011
Walking thru this now:
1. Here's the error I get after right-clicking and attempting to view one of the broken post images:
Fatal error: Call to undefined function cleanSource() in /home/content/n/u/s/nusolutions/html/djfamily/wp-content/themes/Classico.marvc/functions/timthumb.php on line 77
2. Created 'temp' directory and set permissions on it and the 'cache' folder to 775.
Same issue.
January 15, 2011
What I don't understand is why timthumb would prevent me from adding my own cropped images. For instance the logo. I changed and uploaded my own but it doesn't show. At worse case the image should still appear giving me the ability to crop or resize as I see fit.
January 15, 2011
Ben - If I provided you a ftp login to http://www.spreadable.info...might you go in and take a look under the hood? Like you say, it's easy! But I'm no code-man...
Thanks
January 15, 2011 • @spreadableinfo
Hi Ken, I'm afraid I don't really have the time to make the changes to your site at the moment. The actual fix for this issue is relatively straightforward but the implementation will vary from theme to theme. The best thing to do would be to ask Themelab to implement the change as this will help all of their customers.
January 18, 2011
Tim Lee January 23, 2011
Hi,
I've come up with a different approach to this, and wanted to know what you guys thought. I figured the worst thing I could do is make any assumptions, so I created a function to convert a url to a local path and vice versa:
function simplyit_admin_framework_convert_path($input) {
$site_url = get_site_url();
$site_dir = untrailingslashit(ABSPATH);
$uploads = wp_upload_dir();
$dir = strpos($input, $site_url);
$url = strpos($input, $site_dir);
// Check if $input is a url
if ($url !== false && $dir === false) {
$output = str_replace($uploads['basedir'], $uploads['baseurl'], $input);
if ($input == $output) {
$output = str_replace($site_dir, $site_url, $input);
}
// Check if $input is a dir
} elseif ($dir !== false && $url === false) {
$output = str_replace($uploads['baseurl'], $uploads['basedir'], $input);
if ($input == $output) {
$output = str_replace($site_url, $site_dir, $input);
}
// Else return input untouched
} else {
$output = $input;
}
return $output;
}
Which then gives you the local path to the file then I use something like this to get the src that I give to timthumb:
str_replace(WP_CONTENT_DIR, '', $image_local_path)
What do you guys think of that? Do you see any problem with it?
January 23, 2011
Interesting, I will need to take the function apart to see if I can work out what it does, but based upon what I've worked out so far it certainly looks like a nice alternative.
January 23, 2011
For anyone who is interested, I've come up with what I believe to be a universal solution for timthumb that will work on WordPress Multi Site, WordPress MU, and on Standard WordPress installations even with custom wp-content, and upload directories.
get_timthumb($input, $args) {
$site_url = get_site_url();
$site_dir = untrailingslashit(ABSPATH);
$uploads = wp_upload_dir();
$timthumb_source = '/path/to/thimthumb.php'; // Insert Path to timthumb.php
$timthumb_args = '&' . $args;
if (is_array($args)) {
$timthumb_args = '&' . str_replace(array('height', 'width', 'quality', 'zoomcrop'), array('h', 'w', 'q', 'zc'), http_build_query($args));
}
// Convert $input into local path, if it isn't already
$input_dir = str_replace($uploads['baseurl'], $uploads['basedir'], $input);
if ($input == $output) {
$input_dir = str_replace($site_url, $site_dir, $input);
}
$output = $timthumb_source . str_replace(WP_CONTENT_DIR, '', $input_dir) . $timthumb_args;
//By Tim Lee - http://simplyitpro.com
}
Usage:
'200',
'width' => '200',
'quality' => '100',
'zoomcrop' => '1',
)
?>
<img src="">
Or:
'200',
'w' => '200',
'q' => '1',
'zc' => '1',
)
?>
<img src="">
Or:
<img src="">
If anyone has any questions or suggestions, feel free to let me know, anyone who wants to use this abviously can as well. The only required change to use this is to enter the location of the timthumb.php file you are using.
January 31, 2011
Hi Tim Lee
I'm not advance in this things.
Can you tell me the writing code for dummies?
I had trie to put the code but I don't know exactly where and if I should use a clean timthumb.php or incremented by Ben Gillbanks
February 5, 2011
This requires no editing of timthumb.php (so use a clean one),
Steps:
1. Put this function anywhere inside your themes functions.php (make sure you enter the url to your timthumb.php file) :
function get_timthumb($input, $args) {
$site_url = get_site_url();
$site_dir = untrailingslashit(ABSPATH);
$uploads = wp_upload_dir();
$timthumb_source = '/path/to/thimthumb.php'; // Insert URL to timthumb.php
$timthumb_args = '&' . $args;
if (is_array($args)) {
$timthumb_args = '&' . str_replace(array('height', 'width', 'quality', 'zoomcrop'), array('h', 'w', 'q', 'zc'), http_build_query($args));
}
// Convert $input into local path, if it isn't already
$input_dir = str_replace($uploads['baseurl'], $uploads['basedir'], $input);
if ($input == $output) {
$input_dir = str_replace($site_url, $site_dir, $input);
}
$output = $timthumb_source . str_replace(WP_CONTENT_DIR, '', $input_dir) . $timthumb_args;
//By Tim Lee - http://simplyitpro.com
}
2. Insert this code wherever you want to use timthumb (in this case it's in an img tag):
[php]
$img_src = 'http://somesite.com/path/to/image.jpg';
$args = array(
'height' => '200',
'width' => '200',
'quality' => '100',
'zoomcrop' => '1',
)
[/php]
(Due to this sites filters I cannot use actual php tags in my comment, so replace [php] with an opening php tag and [/php] with a closing php tag) Also the $args variable can contain any parameter timthumb can handle.
If you have any additional questions let me know.
- Tim
February 6, 2011
For some reason it missed the last line:
February 7, 2011
again the filters wouldn't print it:
get_timthumb($img_src, $args); enclosed in php opening/closing tags and inside an img tag.
February 7, 2011
Good Day!
I'm having the same problem with images...on my main site http://www.loudounstyle.com images are working fine. but when i created/added sub sites http://www.loudounstyle.com/events/ the images wont show up...can i apply the mentioned ideas above? but my problem is which part in timthumb should i put the said details..
thanks...
February 2, 2011
Hi - the changes need to be added to the functions.php file. No changes need to be made to TimThumb. Unfortunately the fix is not as simple as just copying and pasting the code, you need to alter the references to the TimThumb images as well. I would suggest contacting the theme author and asking them to implement the fix in this post. That would be a lot easier and would solve the problem for everyone else who uses it.
Also - there's no need to post the same comment 3 times. I will moderate the posts, and reply, when I have time
February 2, 2011
follow up on:
"hi Ben! I'm really sorry about my posting attitude... i am just so desperate on my situation. I have been puzzled on this for 2 weeks now.. But i am so glad and happy for your advise Ben, you give me hope..I already contacted the MediaPress theme author about 3 days ago but until now no response yet. i am so sad about it, i am waiting desperately. Can you show me some links on how to alter Ben? A tutorial perhaps? I just want to take a try on this one..hoping to solve the problem sooner. I just don't know if the author cares to respond my situation. Bad choice...Thanks Ben..."
To the MediaPress theme author DDStudios: I am really happy that he is doing things right now to solve the problem not just mine but as general...and i deeply apologize for my acts if it cause some troubles. I think i am just to helpless on my problem. But now that the Author is acting on this matter, i'm so excited.. And a thousand thanks to Ben for being so cooperative and always there to help.. Thanks a lot and more power...
February 3, 2011
Any code for getting the first image of a post that works on WordPress MS and Timthumb
February 15, 2011 • @since83_com
Look up the post attachment commands on the codex, that should point you in the right direction.
February 15, 2011
I cant get it to work with timthumb at all. everyone is telling me it cant. are you working on an update or do we need to find another image sizer solution?
February 18, 2011
Everyone is wrong I'm afraid. TimThumb works with WordPress mu and WordPress multisite. As described in the article, the issue is your theme, not TimThumb. TimThumb does not need any updates in order for it to work.
You have to remember that TimThumb is not part of WordPress. It's not a WordPress plugin, and it does not need WordPress to function. All it does is resize the images that are given to it. If you give it bad urls then it won't resize the images, so you need to make sure you pass the correct parameters.
February 18, 2011
Im sorry i didnt make myself more clear, its not my themes it is timthumb. I use a code to grab the first image of every post on all 17 of my themes in my store. This is what everyone is saying i can no longer do with timthumb. For the types of themes i make custom fields and post thumbs just arent a good way for my customers to do it.
I need to be abloe to grab the forst image of each post, and use timthumb with it.
Thanks for the reply mate.
February 18, 2011
Hey Eric, It's still your themes I'm afraid.
What happens is you're grabbing the url of the first image. That's good, however the images on WordPress Multisite are incorrect, they are virtual urls. If you enter the url for an image into your browser you will see it, however try to find that image on your server and it won't exist, at least not in the location that WordPress gives you. What the code in this tutorial does is convert that incorrect url, into one that is correct on the server. TimThumb needs to know the server path of the image relative to it's location, so if you give it the path for an image that doesn't 'really' exist, it will just tell you the image does not exist.
February 18, 2011
But how do i use the code above when its set for custom fields? i need it to grab forst image of each post, or return a image i set if no image found.
February 18, 2011
I am actually going insane trying to find the right fix relevant to my theme. Have been trying to get this to work for 2 weeks. Where is the best place to pay someone to do this for me?
February 23, 2011
You can try out this solution if (quite easy)
http://www.letuslook.nl/...-work-in-wordpress-multisite/
April 21, 2011 • @lucjager
Hi Luc - thanks for the message. Unfortunately this doesn't solve the issue for WordPress multisite at all. It also involves modifying TimThumb which isn't necessary since TimThumb is programmed to work for the existing website.
April 21, 2011
Hi Ben - I understand that it's most of the time the fault of the theme and if the developper integrate the script and multisite solutions well you don't need to modify the script. But there are some developpers who don't know how to use these fixes, and then the users can use the script from my comment which will work fine on any multisite theme. (atleast on my websites)
Luc
April 21, 2011 • @lucjager
Cant ask each client to place the url in scripts in there theme. This does not seem like a good idea. Though since no one else has shown me anything that works....
April 21, 2011
Would love to still see a code snip that grabs the first image of a post and works with multisite... been waiting over 6 months now.
April 21, 2011
there is an way of getting the image and works with timthumb but you'll need to add your site to the timthumb script...
April 21, 2011 • @lucjager
Everyone keeps telling me there is a way but not one person has shown me a way. And im sorry but like i said has a theme developer making clients add their site to the script isnt the best way to do anything.
April 21, 2011
I posted an article just the other day that explains how to get the first image from a post.
As for waiting over 6 months, you first posted on here in March! Also please keep in mind that everything I have done with TimThumb and these tutorials has been done for free. I enjoy doing it and am happy to help, however I don't have the time to fix everybodies website for them.
If there's anything that's unclear in the tutorials then please explain what and I will try to explain it more clearly but I'm afraid I am not going to do the work for you.
April 21, 2011
"I posted an article just the other day that explains how to get the first image from a post." - That works with Multisite?
I also tried the wordpress forums, contacting darren and a few other forums. Then someone let me know about this site so i tried contacting you, then posting on the site. O yea i even posted in google code on the issues section which isnt even their anymore.
April 22, 2011
Yes, it works with Multisite.
April 23, 2011
Like i also said before im going to try to work with the link you gave. At this point i dont care if i even have to replace timthumb im sick of going through issues with it. MS issues and external site issues have really made me throw my hands up with it.
This is my dream script really... Id pay very well for haha,
1: Work on both WordPress and WordPress:MS.
2: Give a url of a default image if no attachment is found.
3: Grab the first attached image of a post.
4: Be able to place code in functions.php and use php tags thoughout the theme. This will require the code not to give a error when being used over and over.
5: Must be able to define image sizes though each php call tag.
April 21, 2011
I'd be willing to help you out, however I would have difficulty using these comments to do so (because it cuts off my code so much). If you want you can post a simple request on my site:
simplyitpro.com/request
I'd be willing to help you out for free, if you look above I've posted an alternative method that works universally. as far as getting the attached image, that should be pretty easy as well.
April 21, 2011
I sent you a request. i sent the above statement with what i need with it also. Also i could care less if this script is based on timthumb or not, its been months now and i just want stuff to work. it seems timthumb cant do what i need it too.
April 26, 2011
For the truly lazy (like me), here's a "drop in" version that works with multisite without needing to update the theme.
You just replace your existing timthumb.php with this one, and it automatically scans through the blogs.dir to find the appropriate file.
[link removed]
April 30, 2011
I've removed the link to that file. I would strongly recommend against using any system like this for a number of reasons. The biggest, in particular with that file, is that it's a long time out of date. The latest version of TimThumb has a number of speed optimisations and, more importantly, security fixes. There are a number of bad things I could do to your website through the use of the version you are hosting there.
April 30, 2011
So can you give us a version that works?
May 1, 2011
I've already explained how to make it work. If you can't make it work from the info I have given you then I don't know what else to suggest.
What I have shown in these tutorials is very basic stuff for anyone who considers themselves knowledgable in WordPress.
May 5, 2011
No you didnt? you showed us how to make timthumb work with MS using the first image in each post while giving us a default pic if none found? link please.
May 5, 2011
If you can't work it out then that's not my problem. I'm afraid I am not going to do your work for you.
May 6, 2011
Wow i offered to pay you really, really well for a lil help. I told you what i needed and you said you posted a tut for it and when ask where? this is your response? You know damn well you didn't post a tutorial showing anyone how to do what i posted. No reason to get all upset about it you shouldn't have lied in the first place.
Why on earth you didn't just take 10 minutes out of your day, make some money and have a happy customer is really beyond me. Only thing i can think of is what im asking just isn't doable, which you said it was... another lie?
May 15, 2011
Ben - Thanks for the continued support of a great script. My multi-site issue is a little different from those discussed here.
I have timthumb working great under Genesis child themes on a multi-site network to create thumbnails on archive pages. However, this requires me to put multiple copies of the timthumb.php script in each stylesheet folder of each subdomain. I'd like to have one copy of the script on the primary domain and then resize images on subdomains, without having to modify the script to enter multiple external sites, since that would almost be more work than having multiple copies of the script.
Can the array for external sites in the script support wildcard subdomains? That way I could have 1 copy of the script on the primary domain.
Thanks in advance.
May 1, 2011 • @MrJohnJMurray
You can allow various subdomains by adding the hostname to the allowed Domains. In my case I could add '.binarymoon.co.uk' and all subdomains under my site would work. Keep in mind though that if you are using the allowed_sites array that it will start creating multiple versions of each image, since it will have to download the images from the 'external' domains to the master domain.
May 5, 2011
Hi all,
Was hoping to get this fix working with the theme Black Eve.
I've tried implementing the above code at the bottom of the "functions.php" with no luck.
Hope you can help me Ben, i'll even supply you with ftp details to help fix this issue, would really like it up and running as i need to test more than one WordPress site at a time.
Thanks.
May 10, 2011
Hey Ben
Man what a long thread!
My issue is slightly different, and ive been hunting the interwebs for ages. TimThumb seems to be working fine on my site, however as soon as the page finishes loading, all the images disappear. If i right click an open in a new tab, the image is there, no probs. This happens on the front end and the back end, AND IT ONLY HAPPENS IN GOOGLE CHROME.
Interestingly, when i change the dimensions of the image to 50x50, then the issue doesnt occur. if i go to 150x150, then some work, some dont.
Is there anything that stands out to you as the Father of this code that could be a lead? some reason that this is happening?
Thanks mate for all you are doing for the web dev community - this really is an amazing script!
May 10, 2011 • @brookwarner
Hi Brook - this sounds like an issue with your website and not with TimThumb. The fact it works when you view the image directly tells me this. I would guess there's some javascript that is breaking the images (since they display and then vanish). I'd start by disabling plugins and seeing if that helps.
May 10, 2011
Hi!
Unfortunately i can't get this to work. I'm using WP MU and want to use timthumb in my themes demo mode. I have tried your function in my functions.php, and calling the image with this:
<a href="" title="">
<img src="/timthumb.php?src=&w=150&h=150&zc=1">
I don't use custom fields but of course the latest version of WP. So, what to do?
Kindly Lillan
May 21, 2011
hmmm the code disappered. I will give it a new try!
<a href="" title="">
<img src="/timthumb.php?src=&w=150&h=150&zc=1">
May 21, 2011
Found a way to make it work under Blogohblog's Big News theme:
For example, the thumbnail should show up in ... but it doesn't! (this is exactly what happened to me using Blogohblog's Big News theme under WordPress Multisite)
So... what to do?
1. Does "image.jpg" (the actual thumbnail) exist?
Check the path to make sure. If the image does exists, then TimThumb is working, and your Host is allowing it to do so. If not, check your Host's settings.
2. Do all files exist? Are the paths valid? In my case I found that there is no such thing as "http://subsite.site.com/wp-content/themes/subthemblogs/thumbs.php". The theme is rerouting the thumbnail through an unexisting file. It believes somehow that the subsite thumbnail has an equivalent path -to the site's.
3. Solution? Quite simple alter the code in order to reestablish the path of the subsite to the site's. In our example, replace "<img src="http://subsite.site.com/...emblogs/thumbs.php?" with "<img src="http://www.site.com/...s/sitetheme/thumbs.php?" and leave the rest as it were.
June 9, 2011 • @leoneldicamillo
Hej Ben, Could you please help me with some issues regarding WPMU, and putting up subdomains. We want to use the Newswire theme for our subdomain as we do for our main domain. The problem is that pictures (timthumb) is not showing as we use the above mentioned theme for our subdomain. We tried to use your code and above guidance to solve the problem, but as I'm not a php-developer I don't understand the function codes and do not know were to put your written function. Could you please help us where to post your code in the function.php.
I can submit the entire code if you give us an e-mail.
thx Massud
July 7, 2011
Hi Massud - thanks for the message. Unfortunately I don't have the time to help with freelance jobs like this.
July 8, 2011
Hi!
What about us who don't use custom fields? Can you give us a hint how we are going to do?
Kindly Lillan
July 13, 2011
I would be happy to give you a pointer, but your comment is rather vague. If you don't use custom fields how do you do it instead?
July 14, 2011
Lillan,
Here is the code that I used to make it work for me. The magic is in the "explode" function bit.
$url = "path/to/image.jpg";
global $blog_id;
if (isset($blog_id) && $blog_id > 0) {
$imageParts = explode('/files/', $url);
if (isset($imageParts[1])) {
$url = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1];
}
}
Then reference that image with an image tag like so:
<img src="/timthumb.php?src=&w=425" />
You can customize the options of timthumb.php (w, h, zc, q) from there.
July 28, 2011 • @freythman
You sir are my hero. Thanks!
July 28, 2011 • @freythman
Wow, congratulations on the longest comment thread ever! I just wanted to say thank you for posting this and maintaining Timthumb in general... we use it in our slideshow plugin and I was baffled when a user said that it wasn't working properly in MU. This post cleared that right up.
July 28, 2011 • @madebyraygun
Hey Dalton - glad you're making good use of the script.
July 29, 2011
Does Timthumb 2.0 work properly with WordPress MU or do we always need to patch our theme ?
August 11, 2011 • @pixenjoy
As described above, TimThumb is not a WordPress plugin and just resizes your images; so you always need to 'patch' your theme (technically this means tell TimThumb a valid image path)
August 12, 2011
Thanks man, work now
August 25, 2011 • @andersonnarciso
Hi Ben, timthumb is great, however I'm having a bit of an issue with so many dev's using it to create plugins and themes for wordpress and not making them multisite compatible.
At the moment I'm in need of getting a plugin working that i bought, i would ask the dev to fix it up but I'm not having much success, and i know you don't have to do a thing to help but I'd appreciate it.
Specifically with my plugin, what am i changing it and where abouts am i changing it?
The plugins aren't structured the same as themes and generally lack the "functions.php" file, therefore the instructions are voided in my case.
Is there any modification i can do the to timthumb file that will allow this to work at all? I know you locked things down after the hack attacks, but I'm really keen to make this work out. I'm not sure if i can modify the timthumb and tell everything to check 'specfic folder' for their files. My coding skills are fairly bleak, so i can't interpret code too well.
Thanks in advance.
October 7, 2011
Please help me!!!!
I am making my church web site.
And wordpress multisite image troble!!!
upload Path : http://samok.goeup.or.kr/wp-content/blogs.dir/7/files/2011/10/111112.png
view Path : http://samok.goeup.or.kr/files/2011/10/11112.png
No Image View!!!! ?..?
Why??
I don't understand.
I know, i have to edit php file, but I don't know how to , where file is, what file is!!!!
Please help me!!!!
October 16, 2011 • @hegler02
Was looking for over a year for a way to grab the first image of a post in WordPress MS, no one here could help... Here is what you need to do.
It checks for images a few different ways all in one code.
November 2, 2011 • @erichambyent
Thanks for the link - unfortunately it doesn't load so I have removed it. Happy to add it back if you can tell me the correct url
November 3, 2011
Hi,
I am trying to to get a photoblog page theme, Framed (by Jinsoma) to work properly on my blogging network. The network was originally created on WPMU. The theme uses timthumb. Even after reading through the post and all of these comments I am still lost.
Has anyone gotten this to work on a Jinsoma made theme? I also have the Arras theme installed on many of the blog sites and it works with no adjustments.
Any help as to what line of code to put into which file would be so greatly appreciated. I am on about my 10th page theme for the photoblog and am becoming rather frustrated. The whole time the person whose site it will be is sitting and waiting for it to be ready.
Thanks,
Gene
(The photoblog site is at http://www.abphotography.worldblogosphere.com )
December 13, 2011
Hi there Ben! I need your awesome help. I just installed my wordpress theme called reviewit yesterday and I'm not so lucky with TimThumb. I put the cache folder located in /public_html/wp-content/themes/reviewit/lib/scripts to 777 and still doesn't work.
The code that you recommended to put in the function.php I have it already
/*************************** TimThumb Image Directory ***************************/
function get_image_path ($post_id = null) {
if ($post_id == null) {
global $post;
$post_id = $post->ID;
}
$theImageSrc = get_post_meta($post_id, 'ghostpool_thumbnail', true);
global $blog_id;
if (isset($blog_id) && $blog_id > 0) {
$imageParts = explode('/files/', $theImageSrc[0]);
if (isset($imageParts[1])) {
$theImageSrc = '/blogs.dir/' . $blog_id . '/files/' . $imageParts[1];
}
}
return $theImageSrc;
}
Also I found this in the function.php
/*************************** Featured Image Sizes ***************************/
/*add_theme_support('post-thumbnails');
get_option('thumbnail_crop');
add_image_size('thumbnail', 120, 120, true);
add_image_size('ghostpool_thumbnail', 100, 130, true);
add_image_size('slider-image', 630, 344, true);
add_image_size('slider-thumbnail', 80, 65, true);
add_image_size('blog-image', 638, 238, true);
add_image_size('review-box-image', 212, 120, true);
add_image_size('review-page-image', 150, 180, true);*/
My website url is http://www.turmentila.info/ Please give me a hand. Many thanks!
December 15, 2011
It doesn't look like your theme is using timthumb.php - you should talk to the person you got the theme from for help with getting more/ different image sizes.
December 26, 2011
Wrong. You replied me after 1 year so that's why you find out that there's no timthumb in the source. I switched to another theme.
January 4, 2012
hi
same problem here ....
i tried to edit thumb.php using your code , but it dosent work
am using WPMU and a template from rockettheme --> http://radial.orange-themes.com/
help , PLZ ...
December 20, 2011
I've been trying to resolve this issue for a while now and found the SOLUTION here. Below are the steps I took to make it work! http://www.wp-themix.org/...-paths-ww-creativix#post-637
1. Placed the code in my functions.php
2. Called the path in my index file
3. Created Custom field in my WP interface called 'Image'
December 31, 2011
I hav a site http://www.christcollegejagdalpur.net, and you can see the thumbnails are not working when I click a category from the category menu.. help me finding a solution or pls help me to remove the unwanted links and boarder that appear before the post title...
thanks in advance.. pls replay.. I am a student of this college and I am developing this site for my college for free.. pls do help...
February 16, 2012 • @jaibeesview
Hi. Thanks. it working great....
March 27, 2012