These are the lastest actions performed by the plugin.
# telling WordPress to ping if the post is new, but not if it's just been edited
global $wpdb, $post_title;
if(get_option('SUP_ping') == 1
and get_option('ping_sites') != "")
# fetches data directly from database; the function "get_post" is cached,
# and using it here will get the post as is was before the last save
$row = mysql_fetch_array(mysql_query(
# if time when created equals time when modified it is a new post,
# otherwise the author has edited/modified it
if($row["post_date"] == $row["post_modified"])
SUP_log("Pinging services (new post: “".$post_title."”) ...");
SUP_log("Pinging services (new post) ...");
# Try commenting the line above, and uncommenting this line below
# if pinging seems to be out of order. Please notify the author if it helps!
SUP_log("NOT pinging services (“".$post_title."” was edited)");
SUP_log("NOT pinging services (a post was edited)");
SUP_log("NOT pinging services (disabled by administrator)");
# More or less a copy of WP's "generic_ping" from functions.php,
# but uses another function to send the actual XML-RPC messages.
$services = get_settings('ping_sites');
$services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines
$services = trim($services);
if ( '' != $services )
$services = explode("\n", $services);
foreach ($services as $service)
# A slightly modified version of the WordPress built-in ping functionality ("weblog_ping" in functions.php).
# This one uses correct extendedPing format (WP does not), and logs response from service.
function SUP_send_xmlrpc($server = '', $path = '')
include_once (ABSPATH . WPINC . '/class-IXR.php');
// using a timeout of 3 seconds should be enough to cover slow servers
$client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path));
$client->timeout = 3;
$client->useragent .= ' -- WordPress/'.$wp_version;
// when set to true, this outputs debug messages by itself
$client->debug = false;
$home = trailingslashit( get_option('home') );
# the extendedPing format should be "blog name", "blog url", "check url" (whatever that is), and "feed url",
# but it would seem as if the standard has been mixed up. it's therefore best to repeat the feed url.
if($client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url'), get_bloginfo('rss2_url')))
SUP_log("- ".$server." was successfully pinged (extended format)");
# pinging was unsuccessful, trying regular ping format
if($client->query('weblogUpdates.ping', get_settings('blogname'), $home))
SUP_log("- ".$server." was successfully pinged");
SUP_log("- ".$server." could not be pinged. Error message: “".$client->error->message."”");
$post_title = "";
# Receives the title of the post from a filter below
$post_title = $title;
# Log stuff
$logfile = ABSPATH."wp-content/smart-update-pinger.log";
# for debugging
$fh = @fopen($logfile, "a");
@fwrite($fh, strftime("%D %T")."\t$line\n");
$lines = @file($logfile);
if($lines === false)
return "Error reading log file (".$logfile."). This could mean that the wp-content directory is write-protected and no log data can be saved, that you have manually removed the log file, or that you have recently upgraded the plugin.";
$lines = array_slice($lines, count($lines) - $num);
$msg = "";
foreach($lines as $line)
$msg .= trim($line)." ";
# adds a filter to receive the title of the post before publishing
# adds some hooks
# shows the options in the administration panel
# calls SUP_ping whenever a post is published
# calls SUP_ping_draft when changing the status from private/draft to published
# add_action("private_to_published', 'SUP_ping_draft');
# removes the "WordPress official" pinging hook
# activates pinging if setting doesn't exist in database yet
# (before the user has changed the settings the first time)
if(get_option("SUP_ping") === false)
VRE Toolbar Niche Marketing News › ArticlePool Article Directory
Why submitting to article directories is important?
Submitting your article to article directories achieves several goals:
Readers will recognize you as an expert on the topic you write. This will enable readers to trust your business. It is a great advantage to you against your competitors.
Some website owners will republish your article on their site along with links back to you. Thus, more poeple will get to know your online business by reading your articles.
It is a free advertising for you when you publish your articles on Article Pool and other article directories. You can then have more money to spend on other types of advertisements.
Links from article directories increase your link popularity that improves your chances to achieve better positions in major search engines like Google, Yahoo and Bing.
Why Article Pool?
Among hundreds and hundreds of article directories, Article Pool is one of the most valuable places to submit your article. Here is why –
Good traffic. Alexa rank less than 15,000 allows this site to take spot in the top 20 article directories by traffic.
Google Pagerank 4. The better Pagerank, the more value Google gives to links from the directory to your site. This is important for search engine positioning.
Article Pool doesn’t use nofollow tags in their external links. Nofollow tags devalue links to your site.
Almost all topics covered, such as computer, finance, food, fashion, art, politics, writing, shopping, self-help, and so forth.
Sign up process is easy. Approval is fast.
Besides these major benefits, Article Pool offers paid manual article distribution to 500+ major article directories. They provide such a service since 2005 and have distributed over 20,000 articles. Article Pool is designed professionally, easy to navigate and is a great example for other article directory builders.