Привет! Необходимо вывести сообщение в админке wordpress при сохранении страницы, нашел отличный
пример класса, но не могу заставить его работать, вот пример кода
inc/notice.php
<?php
/**
* OPC Notice
*
*/
defined( 'ABSPATH' ) or die( 'You shall not pass!' );
if ( ! class_exists( 'OPC_Notice' ) ):
class OPC_Notice {
/**
* Message to be shown
*/
private $message;
/**
* CSS classes to apply on the notice div
*/
private $css_classes = array( 'notice' );
/**
* Magic starts here.
*
* @param string $message Message to be shown
* @param array $css_classes CSS classes to apply on the notice div
*
* @since 1.0.6
* @return void
*/
public function __construct( $message, $css_classes ) {
$this->message = $message;
if( ! empty( $css_classes ) && is_array( $css_classes ) ) {
$this->css_classes = array_merge( $this->css_classes, $css_classes );
}
error_log('1');
add_action( 'admin_notices', array( $this, 'display_admin_notice' ));
}
/**
* Displays admin notice on success, error, warning, etc.
*
* @since 1.0.6
* @return void
*/
public function display_admin_notice() {
error_log('2');
?>
<div class="<?php echo implode( ' ', $this->css_classes ); ?>">
<p><?php echo $this->message; ?></p>
</div>
<?php
}
}
endif;
init.php
....
require_once 'inc/notice.php';
require_once 'inc/metaboxes.php';
....
inc/metaboxes.php
class onpageconversionalatMetabox {
...
public function __construct() {
...
add_action( 'save_post', array( $this, 'call_opc_api'), 20, 1);
}
public function call_opc_api ( $post_id ) {
...
... new OPC_Notice($user_notice_activate, array( 'notice-error', 'is-dismissible' ));
}
}
При сохранении поста в логе отображается 1, но сообщение не отображается. что я делаю не так ?
Заранее спасибо