Write a function or plugin for WordPress

  • Tila: Closed
  • Palkinto: $50
  • Vastaanotetut työt: 1
  • Voittaja: bowenac

Kilpailun tehtävänanto

Rebuilding a WordPress site, a community of 4000+ active authors. The previous version had a custom front-end upload script allowing authors to create posts. Every post has one image followed by some text. The images were uploaded into normal uploads/year/month folders, BUT they're not in the library. There are over 20,000 posts, every post contains a string like this:


a href="http://www.mysite.com/wp-content/themes/prologue/phpThumb/phpThumb.php?src=../../../../wp-content/uploads/2010/03/4b94f1e580cc119.jpg"


So the images are displayed by phpThumb. And I want to get rid of that. Here's what I need to do:

For every post of post_type post, grab its post_content. Extract the image file name string:

http://www.mysite.com/wp-content/themes/prologue/phpThumb/phpThumb.php?src=../../../../wp-content/uploads/2010/03/4b94f1e580cc119.jpg)

Then turn that string into the actual file's location by removing all phpThumb stuff in the middle, so it becomes

http://www.mysite.com/wp-content/uploads/2010/03/4b94f1e580cc119.jpg

Take this new string, and programmatically add that image to the library, so it would create a normal set of thumbnails in the same uploads/year/month directory

Attach the new library image to the post we're processing at the moment

Also set this new library image as a featured image for this same post

Repeat 20,000 times

Suositellut taidot

Työnantajan palaute

“@bowenac won the contest on 27 May 2014”

Profiilikuva xfilevw, United States.

Julkinen selvennystaulu

  • bowenac
    bowenac
    • 9 vuotta sitten

    Sounds to me like it would make more sense to fix the upload script to not use phpThumb... Send me a PM and I'm sure I can get this working how you want it working.

    • 9 vuotta sitten
    1. bowenac
      bowenac
      • 9 vuotta sitten

      Are you around wanted to mention which I am sure you have already done is to create a backup of your posts table before running the plugin etc.

      • 9 vuotta sitten
    2. bowenac
      bowenac
      • 9 vuotta sitten

      I just updated the plugin and changed the regex in case your first url is not an image. You mentioned it was but just incase, I am checking for the first http that contains an image extension.

      • 9 vuotta sitten
  • bowenac
    bowenac
    • 9 vuotta sitten

    Ok I got this working if you want to test it out. I tested it by inserting some test posts, and replcaed the url in the db with your url example. Then I tossed some images in the uploads folder without using wordpress so that they were not in the media manager. Then ran the plugin, it created the thumbs and they show up in the media manager, as well as using the correct updated url.

    • 9 vuotta sitten
    1. xfilevw
      Kilpailun järjestäjä
      • 9 vuotta sitten

      Great, looks like you're moving in a right direction, but let me clarify a bit further.
      Once the image is retrieved from the uploads folder and added to the library (you've done that), I want it REMOVED from the post content. Instead, it should be ATTACHED to the post (just update the parent = post ID), and set as FEATURED for this post.
      Also, consider that if the plugin loops through the posts table, it will likely timeout, because there are 20,000+ posts, so we need to handle that somehow as well.

      • 9 vuotta sitten
    2. xfilevw
      Kilpailun järjestäjä
      • 9 vuotta sitten

      I can't post the HTML that needs to be removed from post (problem here with this form), but there's a pattern.

      • 9 vuotta sitten

Näytä lisää kommentteja

Kuinka päästä alkuun kilpailuiden kanssa

  • Ilmoita kilpailusi

    Ilmoita kilpailusi Nopeaa ja helppoa

  • Saat valtavasti töitä

    Vastaanota tonnikaupalla osallistumisia Ympäri maailmaa

  • Myönnä palkinto parhaalle työlle

    Myönnä palkinto parhaalle työlle Lataa tiedostot - Helppoa!

Ilmoita kilpailu nyt tai liity tänään!