Write a function or plugin for WordPress

  • Status: Closed
  • Hadiah: $50
  • Penyertaan Diterima: 1
  • Pemenang: bowenac

Ringkasan Peraduan

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

Kemahiran Disyorkan

Papan Penjelasan Umum

  • bowenac
    bowenac
    • 11 tahun yang lalu

    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.

    • 11 tahun yang lalu
    1. bowenac
      bowenac
      • 11 tahun yang lalu

      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.

      • 11 tahun yang lalu
    2. bowenac
      bowenac
      • 11 tahun yang lalu

      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.

      • 11 tahun yang lalu
  • bowenac
    bowenac
    • 11 tahun yang lalu

    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.

    • 11 tahun yang lalu
    1. xfilevw
      Penganjur Peraduan
      • 11 tahun yang lalu

      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.

      • 11 tahun yang lalu
    2. xfilevw
      Penganjur Peraduan
      • 11 tahun yang lalu

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

      • 11 tahun yang lalu

Tunjukkan lebih banyak komen

Bagaimana untuk mulakan dengan peraduan

  • Siarkan peraduan anda

    Siarkan Peraduan Anda Cepat dan mudah

  • Dapatkan berjuta penyertaan

    Dapatkan Bertan-tan Penyertaan Dari serata dunia

  • Anugerahkan penyertaan terbaik

    Anugerahkan penyertaan terbaik Muat turun fail - Mudah!

Siarkan Peraduan Sekarang atau Sertai kami Hari Ini!