联系表格 7 - wpcf7_admin_after_additional_settings 操作在 Class 中不起作用
Contactform 7 - wpcf7_admin_after_additional_settings action is not working within Class
我在使用 PHP oop 概念开发 Contact form 7 扩展时遇到一个奇怪的问题。
wpcf7_admin_after_additional_settings
操作在我将函数放在 class 中时不起作用,如果我将该操作的功能放在 class 之外,那么它可以正常工作。
我的代码如下。
<?php
// This function is working if you put outside the class
function action_wpcf7_admin_after_additional_settings( $cf7pp_admin_after_additional_settings )
{
echo "Outside the class";
}
class Cf7pe_Admin
{
function __construct()
{
add_filter( 'wpcf7_editor_panels', array($this,'cf7pe_admin_editor_pannels') );
add_action( 'wpcf7_admin_after_additional_settings', array($this,'action_wpcf7_admin_after_additional_settings'), 10, 1 );
}
// This funciton is not working within class
function action_wpcf7_admin_after_additional_settings( $cf7pp_admin_after_additional_settings )
{
echo "Within class";
}
function cf7pe_admin_editor_pannels ( $panels )
{
$new_page = array(
'Stripe' => array(
'title' => __( 'Paypal', 'contact-form-7' ),
'callback' => 'action_wpcf7_admin_after_additional_settings'
)
);
$panels = array_merge($panels, $new_page);
return $panels;
}
}
$cf7pe_admin = new Cf7pe_Admin();
如果在 class 函数中使其正常工作,请给出您的建议。请为此提供宝贵意见。
试试这个代码。你在 'callback' =>
中错过了 array($this,
class Cf7pe_Admin
{
function __construct()
{
add_filter( 'wpcf7_editor_panels', array($this,'cf7pe_admin_editor_pannels') );
add_action( 'wpcf7_admin_after_additional_settings', array($this,'action_wpcf7_admin_after_additional_settings'), 10, 1 );
}
// This funciton is not working within class
function action_wpcf7_admin_after_additional_settings( $cf7pp_admin_after_additional_settings )
{
echo "Within class";
}
function cf7pe_admin_editor_pannels ( $panels )
{
$new_page = array(
'Stripe' => array(
'title' => __( 'Paypal', 'contact-form-7' ),
'callback' => array($this,'action_wpcf7_admin_after_additional_settings')
)
);
$panels = array_merge($panels, $new_page);
return $panels;
}
}
$cf7pe_admin = new Cf7pe_Admin();
我在使用 PHP oop 概念开发 Contact form 7 扩展时遇到一个奇怪的问题。
wpcf7_admin_after_additional_settings
操作在我将函数放在 class 中时不起作用,如果我将该操作的功能放在 class 之外,那么它可以正常工作。
我的代码如下。
<?php
// This function is working if you put outside the class
function action_wpcf7_admin_after_additional_settings( $cf7pp_admin_after_additional_settings )
{
echo "Outside the class";
}
class Cf7pe_Admin
{
function __construct()
{
add_filter( 'wpcf7_editor_panels', array($this,'cf7pe_admin_editor_pannels') );
add_action( 'wpcf7_admin_after_additional_settings', array($this,'action_wpcf7_admin_after_additional_settings'), 10, 1 );
}
// This funciton is not working within class
function action_wpcf7_admin_after_additional_settings( $cf7pp_admin_after_additional_settings )
{
echo "Within class";
}
function cf7pe_admin_editor_pannels ( $panels )
{
$new_page = array(
'Stripe' => array(
'title' => __( 'Paypal', 'contact-form-7' ),
'callback' => 'action_wpcf7_admin_after_additional_settings'
)
);
$panels = array_merge($panels, $new_page);
return $panels;
}
}
$cf7pe_admin = new Cf7pe_Admin();
如果在 class 函数中使其正常工作,请给出您的建议。请为此提供宝贵意见。
试试这个代码。你在 'callback' =>
array($this,
class Cf7pe_Admin
{
function __construct()
{
add_filter( 'wpcf7_editor_panels', array($this,'cf7pe_admin_editor_pannels') );
add_action( 'wpcf7_admin_after_additional_settings', array($this,'action_wpcf7_admin_after_additional_settings'), 10, 1 );
}
// This funciton is not working within class
function action_wpcf7_admin_after_additional_settings( $cf7pp_admin_after_additional_settings )
{
echo "Within class";
}
function cf7pe_admin_editor_pannels ( $panels )
{
$new_page = array(
'Stripe' => array(
'title' => __( 'Paypal', 'contact-form-7' ),
'callback' => array($this,'action_wpcf7_admin_after_additional_settings')
)
);
$panels = array_merge($panels, $new_page);
return $panels;
}
}
$cf7pe_admin = new Cf7pe_Admin();