Category: Web Dev
Working on a freelance site and somehow a bunch of images got uploaded to /images/2012/09/… what the heck? I cannot even figure out how that happened.
Trying this new “smush.it” plugin and guess what, it only works off images inside the media manager.
After looking around for a couple hours, I finally figured it all out. DISCLAIMER: Before trying this, make sure you back up your database. PHPMyAdmin has an “Export” option that will let you do this.
- First is a plug-in called “add from server” – http://wordpress.org/extend/plugins/add-from-server/. This plugin gives you a file manager type interface to browser your website directories, so I pointed it at /images and let it import from there. I wish it was recursive, but no such luck. Lucky for me, I only had to drill down into /images/2012/09/ and import from there as well as my top level /images directory. Importing gives you the option of using the original file date, so it copies the files to /wp-content/uploads/2012/09 and maintains that same date based hierarchy. From the /images directory I just imported those ones with today’s date, so they ended up in /wp-content/uploads/2013/01/…
- After importing I had to refresh some of my MySQL skills. The trick was to search the database for src=”/images/…” and update that to be src=”/wp-content/uploads/…”. It took me a couple tries to get it right. I started with a SELECT statement to get the syntax correct.
SELECT post_content,replace(post_content,’src=”/images’,’src=”/wp-content/uploads’) FROM `wp_posts` WHERE post_content like ‘%src=”/images%’;
This let me verify the substitution was happening the way I wanted it to, then it was just a matter of rewrite this as an UPDATE query (after I BACKED UP MY DATABASE!), this was the query:update wp_posts set post_content=replace(post_content,’src=”/images’,’src=”/wp-content/uploads’) WHERE post_content like ‘%src=”/images%’;
Just a trick I just figured out – I installed a sitemap plugin for wordpress and wanted to drop the rendered sitemap into my 404 page. The short code for the plug was [ slick-sitemap ]. So, in my 404.php page within my theme directory, I just added this :
<?php echo apply_filters(‘the_content’,'[slick-sitemap]’);?>
that’s, well, slick 🙂
404 Redirected – coupled with SEO Ultimate, allows you to catch 404 errors (ie – outdated bookmarks) and link them to the correct content.
Akismet – comes bundled with wordpress and for good reason. Best anti-spam tool I have found for wordpress.
Contact Form 7 – simple contact form to email processing plugin
SEO Ultimate – This one is helpful, not just for SEO but for general site management. Has a 404 tracker as well as allows you to defined per page custom titles, meta descriptions, and keywords.
Ever find a neat website and wonder how that site was built and what CMS (content management system) was used?
Here are some useful links :
BuiltWith : http://builtwith.com/geolaw.com
WebmasterCoffee : http://webmastercoffee.com/en/site/geolaw.com?s=http
A quick and easy way to squash the damn WordPress Spam bots.
First step is to turn off comments on all of your posts using the following SQL query:
UPDATE wp_posts p SET comment_status = ‘closed’, ping_status = ‘closed’ WHERE comment_status = ‘open’;
* Note you may have to adjust the wp_posts table name to suit your install.
The default comment and ping status is open on all new posts – change the default to ‘closed’ with the following 2 queries:
alter table wp_posts change comment_status comment_status varchar(20) default ‘closed’;
alter table wp_posts change ping_status ping_status varchar(20) default ‘closed’;
Again, you may need to adjust the wp_posts table name to your install.
Originally for Joomla 1.5 – Not sure how outdated this may be since I no longer use Joomla.
I have run into a project that requires attaching some addition “Advanced” attributes to Joomla articles.
I have extended the “blog category” menu type to incorporate jQuery to display the blog category with the titles as vertical tabs, and the introtext displayed in a content div when each tab is clicked.