Write a function or plugin for WordPress

  • État: Closed
  • Prix: $50
  • Propositions reçues: 1
  • Gagnant: bowenac

Résumé du concours

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

Compétences recommandées

Commentaire de l'employeur

“@bowenac won the contest on 27 May 2014”

Image de profil xfilevw, United States.

Tableau de clarification publique

  • bowenac
    bowenac
    • il y a 9 ans

    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.

    • il y a 9 ans
    1. bowenac
      bowenac
      • il y a 9 ans

      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.

      • il y a 9 ans
    2. bowenac
      bowenac
      • il y a 9 ans

      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.

      • il y a 9 ans
  • bowenac
    bowenac
    • il y a 9 ans

    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.

    • il y a 9 ans
    1. xfilevw
      Titulaire du concours
      • il y a 9 ans

      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.

      • il y a 9 ans
    2. xfilevw
      Titulaire du concours
      • il y a 9 ans

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

      • il y a 9 ans

Montrer plus de commentaires

Comment commencez des concours

  • Publiez votre concours

    Publiez votre concours Rapide et facile

  • Obtenez des tonnes de propositions

    Obtenez des tonnes de propositions De partout dans le monde

  • Attribuez la meilleure proposition

    Attribuez la meilleure proposition Télécharger les fichiers - Facile !

Publier un concours maintenant ou rejoignez-nous maintenant !