Below is a list of all the filters and actions available in Novashare. These allow you to further customize the plugin. If you need an easy way to add a filter, we recommend the free WPCode plugin.
Filters
- novashare_button_attributes
- novashare_button_networks
- novashare_ctt_tweet
- novashare_filter_refresh_rates
- novashare_floating
- novashare_follow_network_link
- novashare_inline
- novashare_inline_cta
- novashare_inline_excluded_filters
- novashare_inline_position
- novashare_mobile_networks
- novashare_networks
- novashare_network_link
- novashare_opengraph_meta_tags
- novashare_permalink
- novashare_pin_button_text
- novashare_pinterest_hidden_images
- novashare_pinterest_image_excluded
- novashare_pinterest_image_excluded_attributes
- novashare_pinterest_image_excluded_filters
- novashare_pinterest_image_minimum_dimension
- novashare_short_link_url
- novashare_show_deprecated
- novashare_total_share_count_text_plural
- novashare_total_share_count_text_singular
Actions
novashare_button_attributes
The novashare_button_attributes
filter allows you to add custom attributes to the social button for a specific network.
Below is an example.
add_filter('novashare_button_attributes', function($attributes, $network, $location) {
if($network == 'facebook') {
$attributes['custom_att1'] = 'value1';
$attributes['custom_att2'] = 'value2';
}
return $attributes;
}, 10, 3);
novashare_button_networks
The novashare_button_networks
filter allows you to remove a specific network from inline social share buttons on a page or post type.
Below is an example where Flipboard is removed from the page post type.
add_filter('novashare_button_networks', function($networks, $location) {
if($location == 'inline' && is_singular('page')) {
if(($key = array_search('flipboard', $networks)) !== false) {
unset($networks[$key]);
}
}
return $networks;
}, 10, 2);
novashare_ctt_tweet
The novashare_ctt_tweet
filter allows you to manipulate the Click to Post text immediately before the link is generated.
Below is an example if you wanted to allow shortcodes to be interpreted and pass to X.
add_filter('novashare_ctt_tweet', 'do_shortcode');
novashare_filter_refresh_rates
The novashare_filter_refresh_rates
filter allows you to override the Novashare plugin settings with your own share count refresh rates. Below is an example. See more details.
function novashare_custom_refresh_rates($rates) {
return array(
'max' => 10800, //3 hours in seconds
'sets' => array(
array(
'modified' => 86400, //1 day in seconds
'rate' => 3600 //1 hour in seconds
),
array(
'modified' => 604800, //7 days in seconds
'rate' => 7200 //2 hours in seconds
)
)
);
}
add_filter('novashare_filter_refresh_rates', 'novashare_custom_refresh_rates');
novashare_floating
The novashare_floating
filter allows you to manually control where floating buttons are printed. For example, perhaps you don’t want them to print if the current post doesn’t have a featured image set.
add_filter('novashare_floating', function($bool) {
if(is_singular() && !has_post_thumbnail()) {
return false;
}
return $bool;
});
novashare_follow_network_link
The novashare_follow_network_link
filter allows you to change the link you’re using for a follow button. For example, with LINE, it defaults to a profile link format, but you could change it to a business page format.
Below is an example.
add_filter('novashare_follow_network_link', function($link, $network) {
if($network == 'line') {
//do something with the link here
}
return $link;
}, 10, 2);
novashare_inline
The novashare_inline
filter allows you to manually control where inline content share buttons are printed. For example, perhaps you don’t want them to print if the current post doesn’t have a featured image set.
add_filter('novashare_inline', function($bool) {
if(!has_post_thumbnail()) {
return false;
}
return $bool;
});
novashare_inline_cta
The novashare_inline_cta
filter allows you to change the CTA text.
Below is an example on product posts.
add_filter('novashare_inline_cta', function($cta) {
if(is_singular('product')) {
$cta = 'Share this product with your friends!';
}
return $cta;
});
novashare_inline_excluded_filters
The novashare_inline_excluded_filters
allows you to add any hook that you don’t want our inline content buttons to print on. This can be useful if you have a theme or plugin that triggers the_content
outside of the primary content block.
Below is an example.
add_filter('novashare_inline_excluded_filters', function($filters) {
$filters[] = 'custom_filter_hook';
return $filters;
});
novashare_inline_position
The novashare_inline_position
filter allows you to force inline social share buttons to only show on a page or post type.
Below is an example of forcing inline social share buttons to only show on the page post type.
add_filter('novashare_inline_position', function($position) {
if(is_singular('page')) {
$position = 'below';
}
return $position;
});
novashare_mobile_networks
The novashare_mobile_networks
filter allows you to force specific networks to only show on mobile devices. Make sure you have separate mobile cache enabled on your site for this to function properly.
Add a network
To add a network to the mobile-only list, you can specify them with the following filter. In this example, we added twitter,
facebook
, and pinterest.
//add network(s) to mobile only list
add_filter('novashare_mobile_networks', function($networks) {
array_push($networks, 'twitter', 'facebook', 'pinterest');
return $networks;
});
novashare_networks
The novashare_networks
filter allows you to change the name of a network.
Below is an example.
add_filter('novashare_networks', function($networks) {
$networks['sms']['name'] = 'Text';
return $networks;
});
novashare_network_link
The novashare_network_link
filter allows you to modify the final link for a specific network.
Below is an example.
add_filter('novashare_network_link', function($link, $network) {
if($network == 'pinterest') {
//do something with the link here
}
return $link;
}, 10, 2);
novashare_opengraph_meta_tags
The novashare_opengraph_meta_tags
filter allows you to edit or add to opengraph output.
Below is an example.
add_filter('novashare_opengraph_meta_tags', function($output) {
//do things here
return $output;
});
novashare_permalink
The novashare_permalink
filter allows you to modify the final permalink before it’s added to the network link.
Below is an example of using it to add the integration with AffiliateWP.
add_filter('novashare_permalink', function($link, $network) {
//make sure affiliate wp is available
if(function_exists('affwp_is_affiliate')) {
//check that user is affiliate
if(is_user_logged_in() && affwp_is_affiliate()) {
//add query arg to link
$link = add_query_arg(affiliate_wp()->tracking->get_referral_var(), affwp_get_affiliate_id(), $link);
}
}
return $link;
}, 10, 2);
Here is another example if you want to hook into a solution like GamiPress.
add_filter('novashare_permalink', function($link, $network) {
//make sure GamiPress is available
if(function_exists('gamipress_referrals_get_affiliate')) {
//check that user is affiliate
$affiliate = gamipress_referrals_get_affiliate(get_current_user_id());
if($affiliate) {
//add query arg to link
$url_parameter = gamipress_referrals_get_option( 'url_parameter', 'ref' );
$referral_id = $affiliate->ID; //$affiliate->user_login could be used instead for username
$link = add_query_arg($url_parameter, $referral_id, $link);
}
}
return $link;
}, 10, 2);
Here is another example if perhaps you have a search function on your WordPress site and you want the shared URL to include the search parameters.
add_filter('novashare_permalink', function($link, $network) {
if(is_search()) {
$link = home_url($_SERVER['REQUEST_URI']);
}
return $link;
}, 10, 2);
novashare_pin_button_text
The novashare_pin_button_text
filter allows you to change the text that is displayed on the image pin button.
add_filter('novashare_pin_button_text', function($text) {
return 'pin me already!';
});
novashare_pinterest_hidden_images
The novashare_pinterest_hidden_images
filter allows you to programmatically add hidden Pinterest images. In the example, we add an additional hidden image only on single posts and custom post types using the attachment ID.
add_filter('novashare_pinterest_hidden_images', function($images) {
if(is_singular()) {
$images[] = 645;
}
return $images;
});
novashare_pinterest_image_excluded
The novashare_pinterest_image_excluded
filter essentially turns the excluded box into a whitelist box instead. This can be used if you want to add Pinterest image pins to a few specific images, instead of across your entire site.
add_filter('novashare_pinterest_image_excluded', function($excluded) {
return !$excluded;
});
novashare_pinterest_image_excluded_attributes
The novashare_pinterest_image_excluded_attributes
filter allows you to exclude specific images from getting Pinterest pins applied with an attribute string, such as a class or image file name.
Below is an example.
add_filter('novashare_pinterest_image_excluded_attributes', function($attributes) {
//add excluded attributes
$attributes[] = 'class="example-class"';
$attributes[] = 'example-image.png';
return $attributes;
});
novashare_pinterest_image_excluded_filters
The novashare_pinterest_image_excluded_filters
filter allows you to add any hook that you don’t want the Pinterest image pin buttons to print on. This can be useful if you have a theme or plugin that triggers the_content
outside of the primary content block.
Below is an example.
add_filter('novashare_pinterest_image_excluded_filters', function($filters) {
$filters[] = 'custom_filter_hook';
return $filters;
});
novashare_pinterest_image_minimum_dimension
The novashare_pinterest_image_minimum_dimension
filter allows you to change the minimum dimension required (in pixels) for the Pinterest Image hover buttons to be applied to an image. This applies to both width and height. If either dimension falls below the minimum, the image will be excluded.
Below is an example.
add_filter('novashare_pinterest_image_minimum_dimension', function() {
return 500;
});
novashare_short_link_url
The novashare_short_link_url
filter allows you to override what short link is generated and returned before it’s saved in the database. For example, you could filter the full URL and return a short link on your own if you don’t want to use Bitly’s API.
add_filter('novashare_short_link_url', function($short_url, $long_url, $network) {
//process $long_url into new $short_url
return $short_url;
}, 10, 3);
novashare_show_deprecated
The novashare_show_deprecated
filter allows you to enable deprecated features to be visible in different areas of the plugin settings UI.
add_filter('novashare_show_deprecated', '__return_true');
novashare_total_share_count_text_plural
The novashare_total_share_count_text_plural
filter allows you to change the “Shares” text (plural form) to whatever you want.
Below is an example.
add_filter('novashare_total_share_count_text_plural', function($text) {
return 'shares';
});
novashare_total_share_count_text_singular
The novashare_total_share_count_text_singular
filter allows you to change the “Share” text (singular form) to whatever you want.
Below is an example.
add_filter('novashare_total_share_count_text_singular', function($text) {
return 'share';
});
novashare_bitly_link_generated
The novashare_bitly_link_generated
action allows you to run your own custom code after a bitly link has been generated for a post.
Below is an example.
add_action('novashare_bitly_link_generated', function($url, $post_id, $network) {
//do things here
}, 10, 3);