【发布时间】:2014-03-22 12:41:04
【问题描述】:
我正在尝试向 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'));
但是,当我这样做时,所有链接都会完全消失,它们不会出现在任何地方,甚至我自己的也不会出现。我在这里做错了什么?
【问题讨论】: