I would try “wp_insert_post_data” filter.
add_filter('wp_insert_post_data', 'new_content' );
function new_content($content) {
preg_match_all('~<a.*>~isU',$content["post_content"],$matches);
for ( $i = 0; $i <= sizeof($matches[0]); $i++){
if ( !preg_match( '~nofollow~is',$matches[0][$i]) ){
$result = trim($matches[0][$i],">");
$result .= ' rel="nofollow">';
$content['post_content'] = str_replace($matches[0][$i], $result, $content['post_content']);
}
}
return $content;
}
Obviously needs work, just a PoC.
Related Posts:
- function deactivate_plugins does not exist
- what’s the meaning of the field wp_capabilities in table wp_usermeta
- Change the_title() of a page dynamically
- Adding more options to the instance of an image. (Attachment Display Settings)
- What is wrong with using add_option with Multisite instead of add_blog_option in a plugin
- Trouble with Transient API when W3TC is activated [closed]
- Using wp_filesystem in Plugins
- WordPress REST API call generates nonce twice on every call
- WordPress Terminology Options Vs. Settings
- How to modify post content before writing to database?
- Filters ‘request’ and ‘parse_query’ not firing in sites.php nor link-manager.php
- How to trap “Publish” button to check for meta box validation?
- How to use filter hook ‘post_updated_messages’ in coherence with action hook ‘save_post’
- $wp_filesystem returns NULL. What are the dependencies?
- wp_mail not recognizing cc and bcc headers
- How can I call “preview post” from wp_remote_get with authentication?
- Plugin Loading Scripts and Styles on Every Page – Even when not being used
- set_sale_price in WooCommerce [closed]
- Synchronize custom post type tags with WordPress default post type tags
- Adding extra pages to plugin that shouldn’t appear in the sidebar
- jquery document ready function not being called [closed]
- How do I include background images in my stylesheets in a plugin?
- Show User’s Current Time
- Single sanitization callback for multiple fields
- How to filter users list on user_status field with get_users()
- Where did the ability to edit a plugin go?
- How to add custom fields to the all users page
- Can Page Templates be Applied to Archive and Post Templates?
- Replace default Blogroll Links with Social Media Links
- Append varible to url or set session
- Is there a plugin that will allow a tag cloud to be created from any mysql field?
- Adding custom end points, No error line
- Custom login doesn’t work properly
- automatic change post date when post is 30 days old
- Translate slug in WPMU with PO files
- Allow users to add / remove settings in plugin
- Custom Plugin theme filter
- CSS not affecting widget output
- Plugin – Make sure jquery is loaded in my settings page plus my JS file
- wp_editor add media button not working
- Is it possible to enable and disable wp debug from functions.php?
- How to create a WordPress Plugin that has it’s own “page”?
- Plugin Development – Class Constructor Not Firing wp_enqueue_style action hook
- Alternative functions for mysql_free_result and mysql_ping in wordpress functions
- Create Widget or Enable Shortcodes in Sidebar
- Getting a WordPress Debug Strategy
- WordPress publish_post hook not getting featured image and meta on first publish, but works on updating title
- Add function after the_content
- Best way to include and use Zoho SDK in a wordpress plugin
- How to change WooCommerce loop product title HTML output in single product page and archive page
- How to add custom view links to wp-admin/post.php?
- How remove trashed WooCommerce orders from wc_get_orders() result?
- how to create category with code in wordpress using form
- How do I get variables from my plugin’s settings page?
- Get post thumbnail in WP_Query
- Unexpected T_FUNCTION
- How to avoid conflicts with db.php / $wpdb and other plugins that decide to use them?
- Plugin can’t be activated [closed]
- How To Protect Plugin Display From Being Affected By Theme’s CSS
- Is there an action_filter hook to add content before the post title?
- CSS not being applied using wp_enqueue_style
- wp_schedule_event not executing function call, even with add_action
- How to query a nested field in wordpress api using _fields param
- function add custom fields to media gallery
- Using AJAX to submit and return data inside the WordPress Plugin Boiler Plate framework
- Add quick edit functionnality to plugin table
- Hide / show settings field based on other field’s value
- using wordpress acf shortcods in tables goes outside the table
- $_SESSION inside php function executed by AJAX
- Two same AJAX calls – one is working, other doesn’t
- remove different admin menu for specific users
- add pagination to wp_remote_get
- Adding and handling custom settings tab to fusion element
- Not able to Update database while creating a custom module
- How to load css file after a certain css file
- Shortcode from a plugin not working
- How to get option values without requiring wp-load?
- Problem with baseurl and interaction with plugin
- Why setcookie function redirecting to home page in wordpress?
- Deactivate Other Incompatible Plugin Upon Activation
- Should all roles be allowed CRUD operation on the database?
- Associating special meaning with user id 0
- Filter get_user_by instead of replace function
- Downloading Generated XML File
- How to make auto installer Plugin?
- Can’t get query string in ajax call
- Pass results of custom query to loop – when writing a plugin
- How to use permalink query to go to specific tabs in posts
- Conditional query tags do not work before the query is run. Before then, they always return false
- Method to retrieve category names and IDs only as an array?
- user can login from single account detail from multiple locations(computer) at the same time [closed]
- WP Cron registers hook without any action (does not call the function)
- Send Webhook when post-status is publish or trash
- Checking if the query is empty does not work
- Remove default wordpress roles
- What is the meta_query key name for the woo product average rating? [closed]
- how to catch a data from a array in WordPress
- Why my admin-ajax url returns 0 even after adding echo and die() at the end of function?
- External api call using wordpress
- Set link dialog to open in blank by default