GIF94;
| Path : /var/www/wordpress/wp-content/plugins/oxygen/plugin/admin/ |
| Current File : /var/www/wordpress/wp-content/plugins/oxygen/plugin/admin/quick_action_links.php |
<?php
namespace Breakdance\Admin;
use function Breakdance\BreakdanceOxygen\Strings\__bdox;
add_action('breakdance_loaded', function () {
add_action('init', function () {
if (\Breakdance\Permissions\hasMinimumPermission('edit')) {
add_filter('page_row_actions', '\Breakdance\Admin\breakdance_add_quick_action_links', 10, 2); /* page is not the post type here... it is something different. wordpress apis lol */
add_filter('post_row_actions', '\Breakdance\Admin\breakdance_add_quick_action_links', 10, 2); /* post is not the post type here... it is something different. wordpress apis lol */
}
});
});
/**
* @param string[] $actions An array of row action links.
* @param \WP_Post $post The post object.
*
* @return mixed
*/
function breakdance_add_quick_action_links($actions, $post)
{
// TODO: memoize for performance
// i cant believe wordpress APIs dont have a per-post-type action for these quick action links... is that for real
// id add it myself and submit a PR if the project was on GitHub. lol. :/ :(
$postTypes = \Breakdance\Settings\get_allowed_post_types();
/* TODO: dont show links to client mode users */
if (!in_array($post->post_type, $postTypes)) {
return $actions;
}
if ($post->post_status === 'trash') {
return $actions;
}
$mode = get_mode($post->ID);
if ($mode !== 'breakdance') {
return $actions;
}
$builder_loader_url = \Breakdance\Admin\get_builder_loader_url((string) $post->ID);
$plugin_name = __bdox('plugin_name');
/* translators: %s: Plugin name */
$link_text = sprintf(esc_html__('Edit in %s', 'breakdance'), $plugin_name);
$actions['breakdance_quick_action_link'] = sprintf('<a href="%s">%s</a>', esc_url($builder_loader_url), $link_text);
return $actions;
}