• Feb
  • 19

Nice looking affiliate URLs directly from your blog

Here's another quick tips for the 'Custom slug, custom page' plugin. Do you have any affiliate offers on your blog? Want a quick way to mask the ugly affiliate URLs?

Stage 1

Install the Custom Page plugin. You can download it from this page: http://aciddrop.com/2008/02/16/wordpress-plugin-custom-page-slugs-with-custom-content/

Stage 2

Once you've installed the plugin, go to Options | Custom Page | New Page.

  • For the slug, enter the URL you would like your visitors to see
  • For the content enter this code:
    header( "HTTP/1.1 301 Moved Permanently" );
    header( "Location:http://www.affiliateurl.com?trackingid=78236374637");

    Enter your own Affiliate URL in place of my example above.

Click submit!

That's it.


Here, try this lovely link: http://aciddrop.com/free-remote-pc-access

Advanced tip

You can easily include some tracking to store a record of how many times the link was clicked, the page it was clicked on, the browser, the user's I.P etc. Just create a database table in your Wordpress DB to include the relevant info, then insert it into the database before the redirect.

More cunning plans

I've got a few more cunning uses of the plugin to come, so make sure you subscribe to my feed to stay up-to-date!

Posted by admin in php, tutorials, wordpress
1 comment so far
  • Feb
  • 18

Instantly boost your blog’s visibility with cross-promotion

Do you have more than one website? Or a friend with a website? Wouldn't it be great to easily be able to promote your Wordpress blog on those other sites? Maybe you'd like to:

  • Display an up-to-the-minute listing of your latest posts?
  • Or show a listing of your most popular or most commented posts?
  • Maybe show some live stats from your Wordpress blog on another of your sites?
  • Or, what about displaying some of your Wordpress site's ads on your non-Wordpress website?

How can we easily achieve this:

Cross promote Wordpress blog

Stage 1 - install the Custom Page plugin

First you should download and install my 'Custom Slug, Custom Page' plugin from this page:

The plugin allows you to create a page with a custom slug, with whatever content you like and - importantly - with full access to the Wordpress functions and plugin architecture.

Stage 2 - create a Custom page with the content to promote

Let's make a custom page that displays a list of the 3 most recent posts on my blog. So, once you've installed the plugin, click on Options, then Custom Page, then New Page:

For the slug, let's enter "recent-posts":

Now, for the content. First let's enter some code to create the recent posts lists. If you're not a coder, don't worry, just paste this in (you can't damage anything). Include the starting <? and final ?>.

Plugin Name: Recent Posts
Plugin URI: http://mtdewvirus.com/code/wordpress-plugins/

function mdv_recent_posts($no_posts = 3, $before = '<li>', $after = '</li>', $hide_pass_post = true, $skip_posts = 0, $show_excerpts = false) {
global $wpdb;
$time_difference = get_settings('gmt_offset');
$now = gmdate("Y-m-d H:i:s",time());
$request = "SELECT ID, post_title, post_excerpt FROM $wpdb->posts WHERE post_status = 'publish' ";
if($hide_pass_post) $request .= "AND post_password ='' ";
$request .= "AND post_date_gmt <'$now' ORDER BY post_date DESC LIMIT $skip_posts, $no_posts";
$posts = $wpdb->get_results($request);
$output = '';
if($posts) {
foreach ($posts as $post) {
$post_title = stripslashes($post->post_title);
$permalink = get_permalink($post->ID);
$output .= $before . '<a href="' . $permalink . '" rel="nofollow" target="_blank" title="Permanent Link: ' . htmlspecialchars($post_title, ENT_COMPAT) . '">' . htmlspecialchars($post_title) . '</a>';
if($show_excerpts) {
$post_excerpt = stripslashes($post->post_excerpt);
$output.= '<br />' . $post_excerpt;
$output .= $after;
} else {
$output .= $before . "None found" . $after;
return $output;

Thanks to http://mtdewvirus.com/code/wordpress-plugins/ for the code. OK, so now all we need is the HTML for the document, and some CSS to style our bulleted list. (Just paste this into the content box, below the code you've just pasted in)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
body {

div#container_drp h4 {
margin:3px 0 3px 0;

div#container_drp ul {
margin: 10px 0 10px 0px;
border:1px solid #ccc;

div#container_drp li  {
padding-left: 15px;
background-position:0px 1px;

div#container_drp {
border:1px solid #ccc;

You can change these styles as you see fit, or just leave it as it is. You should change the image for the bullet to one of your own. Finally we, just need to add the body of the document, and to close the HTML tags:

<div id='container_drp'>
<h4>What's new on <a href='<? echo get_bloginfo('url'); ?>' target=_blank><? echo get_bloginfo('name'); ?>?</a></h4>
<? echo mdv_recent_posts() ?>

Submit the page, and then click on Manage. Your new page should be available to manage, and you will see a link to it. It will be like this: http://aciddrop.com/recent-posts (but with your domain instead of aciddrop.com). Click the link to view the page. You should get something like this:

Your new custom page

Ok, great. Now what?

The final stage is to get this page to display on your other blog or site. The easiest way to do this is through an iframe. This is an HTML tag that you can use to display a page within another page. So, let say we want to display the info an other Wordpress blog, in the sidebar.

Open up sidebar.php of the theme you use (or whichever file displays the sidebar), and paste in this code where you would like the info to be displayed:

<iframe src="http://aciddrop.com/recent-posts" width="156" height="250" scrolling="no" frameborder="0" allowtransparency="true" background-color="transparent"></iframe>

Of course, you should change aciddrop.com to your own domain. You may need to adjust the width and height depending on the info that you are displaying. That's it!


Just have a look in the right hand bar of this site, and you will see I'm using this technique to display recent posts from both this blog, and another one.

Other uses

The technique isn't restricted to just displaying recent posts. Any time you would like to easily display info from your blog on another site you can use it. Please let me know if you come up with some other ingenious uses.

As usual, please let me know of any bugs/feedback/comments.

Want to hear of other ingenious uses for the plugin? Or be the first to try out my upcoming PHP Speedy Wordpress plugin? Then subscribe to my feed!

Posted by admin in php, tutorials, wordpress
  • Feb
  • 16

Wordpress Plugin: custom page slugs with custom content

Custom Slug Custom Page

I'm still working hard on the Wordpress Plugin for PHP Speedy, but have taken a moment out to write a plugin for Jon Warass of http://www.jonwaraas.com. He needed to be able to display ads from the OIOPublisher system across his non-Wordpress sites. But OIOPublisher is Wordpress only, leaving him with a problem: how to port the publisher system to his other sites?

The solution we came up with was to create a plugin for Wordpress to allow the user to:

  • Create a custom page slug
  • Fill that page with whatever content they wish, including PHP, with full access to the Wordpress and Plugin architecture.

All we then had to do was create a custom page, and fill it with the OIOPublisher ads, directly using the OIO code. These custom pages could then be included via iframe on his other sites.

Jon has generously agreed to make this plugin available to everyone on a GPL licence.


You can download it here: Custom Pub Page Plugin; custom slugs with custom content

Install instructions

  • Install the plugin in your Wordpress install
  • You should have a new option in "Options" called "Custom Page", click it
  • Click "New Page" in the sub menu enter the slug you want for the page (the url), and the content.
  • Click submit, and then the new page should be available in the Manage sub-menu, together with the link to the page
  • You can create as many custom pages as you like


Here is a demo, running the code below: http://aciddrop.com/custom-slug-this-is-one-great-slug

hello this is a test
echo "Want to see my archives?<br>";

As usual, hit me with bugs/feedback/suggestions etc!

Posted by admin in php, wordpress
  • Feb
  • 04

PHP Speedy updated - now works with Joomla and Drupal

I have made some more improvements to PHP Speedy - many thanks to everyone who gave me feedback. The improvements are:

  • Added in compress method for direct content compression
  • Made the gzipping functions more robust
  • Added in check for query string in file paths
  • Changed name of view class to avoid conflicts

Due to popular demand I have also tested it with Drupal and Joomla, and have instructions on how to get it working with both.


  • Edit index.php in the root Drupal folder
  • Include the PHP Speedy code at the top of the page as normal
  • At the bottom of the page change print theme('page', $return); to
    print $compressor->compress(theme('page', $return));

I'm not a Drupal user so have only tested on a basic installation - please let me know if this doesn't work for you (preferably with a solution!)


  • Again, edit index.php in the root Joomla folder
  • Include the PHP Speedy code AFTER the first two includes made by Joomla. So it would look something like this:
    require( 'globals.php' );
    require_once( 'configuration.php' );

  • At the very bottom of the page add $compressor->finish();

Again, I must add the disclaimer that I've only tested this with a basic installation so any problems please let me know.

You can download the lastest version of PHP Speedy at the dedicated page: PHP Speedy

Don't forget to subscribe to my feed to stay up-to-date.

Posted by admin in php
  • Feb
  • 01

Speeding up your website just became easier

UPDATE: New version available: 0.4.6

New to aciddrop.com? Go directly to the PHP Speedy page for a beginners' guide

PHP Speedy

Introducing... PHP Speedy!

Following all the feedback on the site speed boost script, I have fixed all the bugs, added the features that were requested and come up with a name. It was confusing calling it alternately "site speed boost script", "compressor", "aciddrop compress" etc, so I decided to come up with a new moniker. And then waste a few hours designing a logo, of course ;-) (and it's supposed to be flames, not a sea creature).

So, PHP Speedy now boasts:

  • An installer. Lots of people were having problems with the paths, so we now have an installer that*should* take care of everything very easily. If you need to change anything you can either just re-run the installer, or change the config.php file directly.
  • Full support for relative image paths in your CSS, in multiple CSS files. Image paths in CSS are now converted to absolute paths, so you no longer have to worry about where to cache the CSS.
  • Added support for different rel types. (rel="alternative" and rel="stylesheet" are cached separately)
  • Added support for conditional comments in the HEAD tags (this also fixed the problem of commented out stylesheets)

There are still some requirements:

  • You must specify the type when you include your CSS or JavaScript i.e type=text/css
  • Your site can't use ob_end_clean(); or anything that retrieves the buffer in its code. This rules out Joomla, for example.
  • You need to put the CSS and JS in the between the <head> and </head> parts of your page.
  • If your JavaScript dynamically loads other JavaScripts they won't be cached. You should link to each individual script in your <head> tags.

In order to install PHP Speedy you should:

  • Download and unzip the PHP Speedy package into its own directory
  • Point your browser to the PHP Speedy directory
  • Follow the installation instructions

For those of you who are upgrading, just create a new directory for PHP Speedy and install it there. At the end of the install you will be given the new code to include the PHP Speedy file.

Please let me know how you get on, and report and bugs or problems via the comment form.


You can download PHP Speedy from this link: PHP Speedy 0.4.6 download

Tests and examples

Check out the new PHP Speedy dedicated page

Stay up-to-date

I have some more killer features planned for PHP Speedy, and also a Wordpress plugin version, so make sure you subscribe to my RSS feed to stay up-to-date.

Posted by admin in php