The post_row_actions WordPress PHP filter allows you to modify the array of row action links on the Posts list table for non-hierarchical post types.
Usage
add_filter('post_row_actions', 'your_custom_function', 10, 2);
function your_custom_function($actions, $post) {
// your custom code here
return $actions;
}
Parameters
$actions(array): An array of row action links. Defaults are ‘Edit’, ‘Quick Edit’, ‘Restore’, ‘Trash’, ‘Delete Permanently’, ‘Preview’, and ‘View’.$post(WP_Post): The post object.
More information
See WordPress Developer Resources: post_row_actions
Examples
Add a custom action link
Add a custom action link to the Posts list table.
add_filter('post_row_actions', 'add_custom_action_link', 10, 2);
function add_custom_action_link($actions, $post) {
$actions['custom_link'] = '<a href="http://example.com">Custom Link</a>';
return $actions;
}
Remove the Quick Edit link
Remove the ‘Quick Edit’ link from the Posts list table.
add_filter('post_row_actions', 'remove_quick_edit_link', 10, 2);
function remove_quick_edit_link($actions, $post) {
unset($actions['inline hide-if-no-js']);
return $actions;
}
Change the Preview link
Change the URL of the ‘Preview’ link in the Posts list table.
add_filter('post_row_actions', 'change_preview_link', 10, 2);
function change_preview_link($actions, $post) {
$actions['view'] = '<a href="http://example.com/preview/' . $post->ID . '">Preview</a>';
return $actions;
}
Add a custom action link for specific post types
Add a custom action link only for a specific post type in the Posts list table.
add_filter('post_row_actions', 'add_custom_action_for_specific_post_type', 10, 2);
function add_custom_action_for_specific_post_type($actions, $post) {
if ($post->post_type == 'your_post_type') {
$actions['custom_link'] = '<a href="http://example.com">Custom Link</a>';
}
return $actions;
}
Reorder action links
Reorder the action links in the Posts list table.
add_filter('post_row_actions', 'reorder_action_links', 10, 2);
function reorder_action_links($actions, $post) {
$new_actions = array();
$new_actions['view'] = $actions['view'];
$new_actions['edit'] = $actions['edit'];
$new_actions['trash'] = $actions['trash'];
return $new_actions;
}
END