Добрый день, на странице Wordpress сайта есть шорткод должен запускать функцию и выводить таблицу, но ничего не происходит, ошибок в консоле нету. Также есть абсолютно идентичный сайт (плагины, версии) просто на другом домене и там он работает отлично. Единственная разница заключается в том, что на сайте, где шорткод не сработал дебаг вернул такое:
Notice: wp_enqueue_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks.
Да проблема может быть в том, что какая-то функция не так подключена, но почему тогда абсолютно идентичный сайт работает отлично, буду благодарен за любую помощь
Прикрепляю код файла шорткода:
<?php
/**
* Plugin Name: Buddy Beunstoppable Core
* Description: Plugin contain some custom work done by buddydevelopers(1naveengiri) for extra ACF profile fields.EP_MONTH
* Version: 0.1
* Plugin Author: 1naveengiri
* Text Domain: buddy-beunstoppable-main
* Domain Path: /languages
*/
function beunstoppable_extra_fields_callback( $atts ) {
$atts = shortcode_atts( array(
), $atts, 'beunstoppable_extra_fields' );
$bb_selected_groups_option = get_option( 'bb_selected_groups_option' );
$field_group = acf_get_fields($bb_selected_groups_option);
ob_start();
$user_id = get_current_user_id();
global $wpdb;
$table = $wpdb->prefix.'bb_users_extra';
if( isset( $_GET['action'] ) && 'delete' === $_GET['action'] && isset( $_GET['val'] ) && !empty( $_GET['val'] ) ){
$wpdb->delete( $table, array( 'id' => intval( $_GET['val'] ) ) );
}
if( isset( $_POST['save_tracker_info'] ) && !empty( $_POST['save_tracker_info'] )){
// update_field
$nonce = sanitize_text_field( $_POST['_trackers_acf_nonce'] );
if( wp_verify_nonce( $nonce, 'buddy-tracker-acf-fields' ) ){
echo '<div class="messages">';
if( !empty( $field_group ) ){
foreach( $field_group as $key => $field ){
if( isset( $field['name'] ) && !empty( $field['name'] )){
$field_val = sanitize_text_field( $_POST[ $field['name'] ] );
if( !empty( $field_val )){
$wpdb->insert(
$table,
array(
'userid' => $user_id,
'field_type' => $field['name'],
'field_values' => $field_val,
'date' => current_time( 'mysql' )
),
array('%d','%s', '%s', '%s')
);
}
}
}
if( !empty( $wpdb->insert_id ) ){
echo '<p class="success-msg">Successfully saved tracker info</p>';
} else{
echo '<p class="error-msg">Unable to save tracker info</p>';
}
}
echo '</div>';
}else{
echo '<div class="messages"><p class="error-msg">Security check not passed</p></div>';
}
echo("<script>location.href = '".get_permalink()."';</script>");
}
// buddy-tracker-acf-fields
if( !empty( $field_group ) ){
echo '<form name="extra_field_groups_form" method="post">';
foreach( $field_group as $key => $field ){
?>
<label for="acf-field-acf_pro_licence"><?php _e($field['label'], 'buddy-beunstoppable-main'); ?></label>
<?php
$field['key'] = '';
$field['prefix'] = '';
acf_render_field( $field );
wp_nonce_field( 'buddy-tracker-acf-fields', '_trackers_acf_nonce' );
}
echo '<input type="submit" name="save_tracker_info" value"'. __( 'Update', 'buddy-beunstoppable-main') .'"/>';
echo '</form>';
}
if( !empty( $field_group ) ){
?>
<style>
.extra_fields_tbl .counter-even{
background-color: #cccc;
}
.extra_fields_tbl .counter-odd{
background-color: #f3c4c4;
}
</style>
<?php
echo '<table class="extra_fields_tbl">';
echo '<tr>';
echo '<th>'. __( 'Tracker Item', 'buddy-beunstoppable-main') .'</th>';
echo '<th>'. __( 'Value', 'buddy-beunstoppable-main') .'</th>';
echo '<th>'. __( 'Date', 'buddy-beunstoppable-main') .'</th>';
echo '<th>'. __( 'Settings', 'buddy-beunstoppable-main') .'</th>';
echo '</tr>';
$counter = 'odd';
foreach( $field_group as $key => $field ){
if( 'odd' === $counter ){
$counter = 'even';
} else{
$counter = 'odd';
}
if( isset( $field['name'] ) && !empty( $field['name'] )){
$query = $wpdb->prepare( "select * from ".$table.' where field_type=%s AND userid=%d', $field['name'], $user_id );
$extra_fields_values = $wpdb->get_results($query, ARRAY_A );
if( !empty( $extra_fields_values ) ){
foreach( $extra_fields_values as $field_key => $field_value ){
if( !empty( $field_value ) && isset( $field_value['field_values'] ) && !empty( $field_value['field_values'] )){
echo '<tr class="counter-'.$counter.'">';
echo '<td>'. __( $field['label'], 'buddy-beunstoppable-main') .'</td>';
echo '<td>'. $field_value['field_values'] .'</td>';
echo '<td>'. $field_value['date'] .'</td>';
$url = add_query_arg( array(
'val' => $field_value['id'],
'action' => 'delete',
), get_permalink() );
echo '<td><a href="'.$url.'">remove</a></td>';
echo '</tr>';
}
}
}
}
// echo '</table><table>';
}
echo '</table>';
}
$content = ob_get_contents();
ob_get_clean();
return $content;
}
add_shortcode( 'beunstoppable_extra_fields', 'beunstoppable_extra_fields_callback' );
register_activation_hook( __FILE__, 'beunstoppable_create_database_tbl' );
/**
* Create table for GDT user data storage.
*/
function beunstoppable_create_database_tbl() {
global $wpdb;
$gdt_users_table_name = $wpdb->prefix . 'bb_users_extra';
$charset_collate = $wpdb->get_charset_collate();
$gdt_sql = "CREATE TABLE $gdt_users_table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
userid bigint(20) NOT NULL,
field_type varchar(200) NOT NULL,
field_values varchar(20) NOT NULL,
date datetime NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $gdt_sql );
}
add_action( 'admin_menu', 'bb_test_settings_plugin_menu');
/**
* Function to add BB Core Plugin setting page
*/
function bb_test_settings_plugin_menu() {
add_menu_page(
__( 'Beunstoppable Core', 'textdomain' ),
'Beunstoppable Setting',
'manage_options',
'bb-settings',
'bb_settings_callback'
);
}
function bb_settings_callback(){
$selected = 0;
if( isset( $_POST['bb_save_data'] ) && isset( $_POST['page_id'] ) && !empty( $_POST['page_id'] ) ){
update_option('bb_selected_groups_option', $selected );
}
$selected = get_option('bb_selected_groups_option');
?>
<div class="wrap">
<h1><?php _e( 'Beunstoppable Core Plugin', 'buddy-beunstoppable-main' ); ?></h1>
<form method="post">
<label><?php _e( 'Tracker ACF Fields', 'buddy-beunstoppable-main' ); ?></label>
<?php
wp_dropdown_pages(array('post_type'=>'acf-field-group', 'selected' => $selected ));
?>
<input type='submit' value='Submit' class='btn button' name='bb_save_data'/>
</form>
</div>
<?php
}