gpt4 book ai didi

wordpress - 向 WordPress 插件添加操作链接时出现问题?

转载 作者:行者123 更新时间:2023-12-03 08:14:37 25 4
gpt4 key购买 nike

我正在尝试向 WordPress 插件添加一些操作链接。我从以下开始。

class Angelleye_PayPal_WooCommerce
{
public function __construct()
{
add_filter('plugin_action_links', array($this,'plugin_action_links'));
}

public function plugin_action_links($actions)
{
$custom_actions = array(
'configure' => sprintf( '<a href="%s">%s</a>', admin_url( 'admin.php?page=wc-settings&tab=checkout' ), __( 'Configure', 'paypal-for-woocommerce' ) ),
'docs' => sprintf( '<a href="%s" target="_blank">%s</a>', 'http://docs.angelleye.com/paypal-for-woocommerce/', __( 'Docs', 'paypal-for-woocommerce' ) ),
'support' => sprintf( '<a href="%s" target="_blank">%s</a>', 'http://www.angelleye.com/contact-us/', __( 'Support', 'paypal-for-woocommerce' ) ),
'review' => sprintf( '<a href="%s" target="_blank">%s</a>', 'http://wordpress.org/support/view/plugin-reviews/paypal-for-woocommerce', __( 'Write a Review', 'paypal-for-woocommerce' ) ),
);

// add the links to the front of the actions list
return array_merge( $custom_actions, $actions );
}
}

这可行,只是它将链接放在当前启用的每个插件上,而不仅仅是我自己的。我在看 WordPress codex info about this ,它显示使用附加到过滤器名称的文件名。所以我做了这样的调整:
add_filter('plugin_action_links_'.__FILE__, array($this,'plugin_action_links'));

但是,当我这样做时,所有链接都会完全消失,它们不会出现在任何地方,甚至我自己的链接也不会出现。我在这里做错了什么?

最佳答案

explained by Akshay ,我们需要使用 plugin_basename作为钩子(Hook)的后缀。但为了完整起见,缺少一些细节。

  • 该钩子(Hook)还可以使用前缀来显示多站点安装的网络屏幕中的操作链接:
    $basename = plugin_basename( __FILE__ );
    $prefix = is_network_admin() ? 'network_admin_' : '';
    add_filter(
    "{$prefix}plugin_action_links_$basename",
    array( $this,'plugin_action_links' ),
    10, // priority
    4 // parameters
    );
  • 该钩子(Hook)有 4 个参数,其中可能包含用于构建链接的有用信息:
    public function plugin_action_links( $actions, $plugin_file, $plugin_data, $context ) 
    {
    // $plugin_file is the plugin_basename
    // $plugin_data contains the plugin's header information
    // $context is the current screen (all: All plugins, active: Active plugins)
    }

    如果我们使用没有 basename 后缀的钩子(Hook),我们可以使用 $plugin_file参数仅过滤掉我们的插件。
  • 关于wordpress - 向 WordPress 插件添加操作链接时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22577727/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com