#php #wordpress
Вопрос:
У меня есть веб-сайт на wordpress, и мне нужно добавить некоторые пункты в его меню, весь мой код работает, однако, когда я пытаюсь вставить пункты, которые были добавлены в меню, они не отображаются в структуре меню, это даже не приводит к ошибке в журнале ошибок, но каждый раз, когда я пытаюсь перезагрузить страницу, она спрашивает, уверен ли я, что хочу выйти без сохранения, как если бы элементы были добавлены в структуру. Я даже не обнаружил ошибки в своем коде.
<?php
if (!defined('ABSPATH')){
exit;
}
class SNAP_Menu_Categorias{
public function __construct(){
add_filter('nav_menu_meta_box_object', array( $this, 'custom_add_menu_meta_box' ), 10, 1);
add_action( 'admin_enqueue_scripts', array( $this, 'envia_dados_menu' ) );
add_action( 'wp_ajax_busca', array( $this, 'busca' ) );
}
public function custom_add_menu_meta_box($categorias){
add_meta_box('custom-menu-metabox', __('Categorias de produtos', 'Snapfly') , array( $this, 'custom_menu_meta_box' ), 'nav-menus', 'side', 'default');
return $categorias;
}
public function busca(){
$busca = '%' . sanitize_text_field( $_POST['busca'] ) . '%';
$categorias = SF()->query->run('SELECT ge.id_grupo, ge.nome, ge.URL_IMAGEM
FROM #BANCO#.grupos_ecommerce ge
WHERE ge.nome LIKE %s
LIMIT 3', array( $busca ) );
wp_send_json(array(
'codigo' => 0,
'categorias' => $categorias
));
}
public function custom_menu_meta_box(){
global $nav_menu_selected_id;
$walker = new Walker_Nav_Menu_Checklist();
$current_tab = "all";
if (isset($_REQUEST["authorarchive-tab"]) amp;amp; "favoritos" == $_REQUEST["authorarchive-tab"]){
$current_tab = "favoritos";
}
elseif (isset($_REQUEST["authorarchive-tab"]) amp;amp; "all" == $_REQUEST["authorarchive-tab"]){
$current_tab = "all";
}
elseif (isset($_REQUEST["authorarchive-tab"]) amp;amp; "pesquisas" == $_REQUEST["authorarchive-tab"]){
$current_tab = "pesquisas";
}
$categorias = SF()->query->run('SELECT ge.id_grupo, ge.nome as title, ge.URL_IMAGEM
FROM #BANCO#.grupos_ecommerce ge
LIMIT 6');
foreach ($categorias as $key => $categoria){
$nome_categoria = $categoria["title"];
$id_categoria = $categoria["id_grupo"];
$link_categoria = add_query_arg( "categoria", $link_categoria, snap_get_pagina_url("loja") );
$categoria["classes"] = array("custom");
$categoria["type"] = "custom";
$categoria["object_id"] = $categoria["nickname"];
$categoria["object"] = "custom";
$categoria["url"] = get_author_posts_url( $categoria["id_grupo"] );
$categoria["attr_title"] = $categoria["displayname"];
$categoria = (object) $categoria;
$categorias[$key] = $categoria;
}
include_once SNAP_ABSPATH . 'includes/pages/templates/template-menu-categorias.php';
}
public function envia_dados_menu(){
wp_enqueue_script( 'wp-menu-js', SF()->plugin_url() . '/assets/js/menu-categorias.js', array('jquery'), '1.0.0', false );
wp_enqueue_style( 'categorias-style', SF()->plugin_url() . '/assets/css/wp-menu-categorias.css', array(), '1.0.0', 'all' );
}
}
?>
<span class="add-to-menu">
<input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-authorarchive-menu-item" id="submit-authorarchive" />
<span class="spinner"></span>
</span>