• We had a need at work to post the delicious links on a specific pages without having to hard code the function into a page template or make it site wide. So we created a filter to mimic the function’s parameters(in any order you choose to put them)

    You can just add this to your wordpress page with spaces delimiting the arguments you would like to enter(username is mandatory)

    [delicious_bookmarks username=your_name num=20 list=false]
    function delicious_bookmarks_filter($content) {
        if (is_page()):
    		$matches = array();
    		if ( preg_match("/\[delicious_bookmarks ?(.*)\]/i", $content, $matches) ) {
    			// Split by space, pipe |, or comma
    			$user_params = array();
    			$user_params = split(' |\||,', $matches[1]);
    
    			// Function params
    			$params = array();
    			$params['username'] =  null;
    			$params['num'] =  null;
    			$params['list'] =  null;
    			$params['update'] =  null;
    			$params['tags'] =  null;
    			$params['filtertag'] =  null;
    			$params['displaydesc'] =  null;
    			$params['nodisplaytag'] =  null;
    			$params['globaltag'] =  null;
    			$params['encode_utf8'] =  null; 
    
    			// Match user params to function params
    			foreach($user_params as $user_param):
    				list($key, $value) = explode('=', $user_param);
    				$key = trim($key);
    				$value = trim($value);
    				if(array_key_exists($key, $params) ) {
    					switch($value) {
    						case 'true':
    							$value = true;
    							break;
    						case 'false':
    							$value = false;
    							break;
    					}
    
    					$params[$key] = $value;
    				}
    
    			endforeach;
    
    			return preg_replace("/\[delicious_bookmarks ?.*\]/i",
    				delicious_bookmarks(
    					$params['username'],
    					$params['num'],
    					$params['list'],
    					$params['update'],
    					$params['tags'],
    					$params['filtertag'],
    					$params['displaydesc'],
    					$params['nodisplaytag'],
    					$params['globaltag'],
    					$params['encode_utf8']
    				), $content);
    		}
    
        endif;
        #if (is_single()):
    
        #endif;
        return $content;
    }
    add_filter('the_content','delicious_bookmarks_filter',7);

    I sent this to Ricardo and he might add it but, if not you can add it to your theme’s functions.php

    Hope that helps someone out.

    http://wordpress.org/extend/plugins/delicious-for-wordpress/

Viewing 2 replies - 1 through 2 (of 2 total)
  • Dear Joel

    I believe this is exactly the customization that I’ve been looking for: posting one’s delicious links on a single page. But being relatively new to WordPress, might I bother you to explain in a bit more detail exactly where the new code needs to be copied & pasted, and if it replaces any existing code?

    Terry

    excellent, thank you!

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘[Plugin: del.icio.us for WordPress] Filter for for specfic page’ is closed to new replies.