That plugin you have is not using the WordPress Shortcode API as it should be. There is not a single add_shortcode
to be found. It has basically cooked up its own shortcode ‘feature’ by hooking a preg_replace_calback
into the_content
define("categoryThumbnailList_REGEXP", "/\[categorythumbnaillist ([[:print:]]+)\]/");
define("categoryThumbnailList_TARGET", "###CATTHMBLST###");
function categoryThumbnailList_callback($listCatId) {
And:
function categoryThumbnailList($content) {
return (preg_replace_callback(categoryThumbnailList_REGEXP, 'categoryThumbnailList_callback', $content));
}
And:
add_filter('the_content', 'categoryThumbnailList',1);
That is not really the way to do this. The normal shortcode functions aren’t going to work correctly.
The callback function, categoryThumbnailList_callback
, is only expecting an ID value, $listCatId
, so what you are doing is going to take rewrite. You might be able to hack it by parsing that $listCatId
value to extract your extra information– try var_dump($listCatId);
at the top of that function and see if you have anything usable. I’d have to install and run this to be able to write good code, but my recommendation is to rewrite the plugin to use the API correctly.
That plugin is listed as being for “WordPress 2.9 and up” so maybe it is just an old plugin, which would be another reason to rewrite.