Je ne parviens pas à enregistrer les menus de navigation - et je ne sais pas quoi essayer d'autre lorsque les solutions publiées ne fonctionnent pas?
J'ai essayé la solution dans cet article: register_nav_menus () ne va pas enregistrer les menus
Et j'ai également suivi les instructions dans: http://codex.wordpress.org/Function_Reference/register_nav_menus et http://wptuts.org/how-to-add-menu-twordword-theme/
Je n'arrive pas à faire fonctionner cela - je reçois toujours ce message:
"Le thème actuel ne prend pas en charge les menus de manière native, mais vous pouvez utiliser le widget" Menu personnalisé "pour ajouter les menus que vous créez ici à la barre latérale du thème."
Actuellement dans mon fichier functions.php (en gardant les choses simples - mais ne fonctionne pas):
register_nav_menu('primary_navigation', 'Primary Navigation');
add_action('after_setup_theme', 'hchw_setup');
Cela ne fonctionne pas pour moi non plus (hchw est mon nom de thème):
register_nav_menus(array(
'primary_navigation' => __('Primary Navigation', 'hchw'),
'sub_navigation' => __('Sub Navigation', 'hchw'),
));
add_action('after_setup_theme', 'hchw_setup');
Mon modèle de navigation (header-top-navbar.php):
if (has_nav_menu('primary_navigation')) {
wp_nav_menu(array('theme_location' => 'primary_navigation', 'menu_class' => 'nav'));
}
Le comprennent: <?php get_template_part('templates/header-top-navbar'); ?>
L'ensemble du fichier functions.php:
// Use 'static' instead of 'wp-content'
function rename_wp_content($path) {
return str_replace('wp-content', 'static', $path);
}
add_filter('template_directory_uri', 'rename_wp_content');
// Is this an auth page?
function is_auth_page() {
return in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'));
}
// Change login logo
function login_css() {
wp_enqueue_style('login_css', get_template_directory_uri() . '/css/login.css');
}
add_action('login_head', 'login_css');
if (!defined('__DIR__')) { define('__DIR__', dirname(__FILE__)); }
require_once locate_template('/lib/utils.php'); // Utility functions
require_once locate_template('/lib/config.php'); // Configuration and constants
require_once locate_template('/lib/activation.php'); // Theme activation
require_once locate_template('/lib/cleanup.php'); // Cleanup
require_once locate_template('/lib/htaccess.php'); // Rewrites for assets, H5BP .htaccess
require_once locate_template('/lib/widgets.php'); // Sidebars and widgets
require_once locate_template('/lib/scripts.php'); // Scripts and stylesheets
require_once locate_template('/lib/post-types.php'); // Custom post types
require_once locate_template('/lib/metaboxes.php'); // Custom metaboxes
require_once locate_template('/lib/custom.php'); // Custom functions
//require_once locate_template('/lib/wp-admin-menu-classes.php'); // Load the Admin Menu Classes
/**
* Load the Options Panel
**/
if ( !function_exists( 'optionsframework_init' ) ) {
define( 'OPTIONS_FRAMEWORK_DIRECTORY', get_bloginfo('template_directory') . '/admin/' );
require_once dirname( __FILE__ ) . '/admin/options-framework.php';
}
function hchw_setup() {
// Make theme available for translation
load_theme_textdomain('hchw', get_template_directory() . '/lang');
// Register wp_nav_menu() menus (http://codex.wordpress.org/Function_Reference/register_nav_menus)
//register_nav_menus(array(
// 'primary_navigation' => __('Primary Navigation', 'hchw'),
// 'sub_navigation' => __('Sub Navigation', 'hchw'),
//));
register_nav_menu('primary_navigation', 'Primary Navigation');
add_action('after_setup_theme', 'hchw_setup');
// Add post formats (http://codex.wordpress.org/Post_Formats)
// add_theme_support('post-formats', array('aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'));
// Tell the TinyMCE editor to use a custom stylesheet
add_editor_style('assets/css/editor-style.css');
/**
* Custom images size
**/
// Add post thumbnails (http://codex.wordpress.org/Post_Thumbnails)
// This is then pulled through to your theme useing the_post_thumbnail('custombig');
add_theme_support('post-thumbnails');
set_post_thumbnail_size(150, 150, false);
add_image_size('category-thumb', 300, 9999); // 300px wide (and unlimited height)
add_image_size('postfull', 504, 334); // Blog Post Full-Size
add_image_size('customfeatins', 248, 165, true); //hp featured inset
add_image_size('customfeatblg', 290, 192, true); //int featured inset
add_image_size('customfeed', 136, 90, true); //feed thumbnails
add_image_size('customparade', 176, 98, true); //logo parade
}
// Remove the link and 'Powered by WordPress' from the login page
function login_header_unlink() {
return null;
}
add_filter('login_headerurl', 'login_header_unlink');
add_filter('login_headertitle', 'login_header_unlink');
/**
* Add class to body tag if has sidebar
**/
function wpfme_has_sidebar($classes) {
if (is_active_sidebar('sidebar')) {
// add 'class-name' to the $classes array
$classes[] = 'has_sidebar';
}
// return the $classes array
return $classes;
}
add_filter('body_class','wpfme_has_sidebar');
Quelqu'un peut-il me dire ce qui me manque ou si quelque chose ne va pas dans mon code?
Merci d'avance pour toute aide ou direction!
En ce qui concerne ce commentaire:
Je vois - j'ai eu des choses imbriquées de manière incorrecte dans mon
functions.php file
- J'ai constaté que l'appelregister_nav_menus()
ne devrait pas être imbriqué dans la fonction de configuration du thème (function hchw_setup()
)
Au contraire, à l'intérieur d'un rappel relié à after_setup_theme
se trouve exactement au bon endroit pour les appels vers register_nav_menus()
.
Votre problème est une erreur de syntaxe. Vous avez placé votre appel add_action()
insidele rappel qu'il tente de raccrocher et, en tant que tel, le rappel ne sera jamais ajouté au raccroché:
function hchw_setup() {
// Make theme available for translation
load_theme_textdomain('hchw', get_template_directory() . '/lang');
// Register wp_nav_menu() menus (http://codex.wordpress.org/Function_Reference/register_nav_menus)
//register_nav_menus(array(
// 'primary_navigation' => __('Primary Navigation', 'hchw'),
// 'sub_navigation' => __('Sub Navigation', 'hchw'),
//));
register_nav_menu('primary_navigation', 'Primary Navigation');
add_action('after_setup_theme', 'hchw_setup');
// Add post formats (http://codex.wordpress.org/Post_Formats)
// add_theme_support('post-formats', array('aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'));
// Tell the TinyMCE editor to use a custom stylesheet
add_editor_style('assets/css/editor-style.css');
/**
* Custom images size
**/
// Add post thumbnails (http://codex.wordpress.org/Post_Thumbnails)
// This is then pulled through to your theme useing the_post_thumbnail('custombig');
add_theme_support('post-thumbnails');
set_post_thumbnail_size(150, 150, false);
add_image_size('category-thumb', 300, 9999); // 300px wide (and unlimited height)
add_image_size('postfull', 504, 334); // Blog Post Full-Size
add_image_size('customfeatins', 248, 165, true); //hp featured inset
add_image_size('customfeatblg', 290, 192, true); //int featured inset
add_image_size('customfeed', 136, 90, true); //feed thumbnails
add_image_size('customparade', 176, 98, true); //logo parade
}
Notez comme ceci estinsidethe hchw_setup()
?
add_action('after_setup_theme', 'hchw_setup');
Vous devez le déplaceroutsidela fonction:
function hchw_setup() {
// Make theme available for translation
load_theme_textdomain('hchw', get_template_directory() . '/lang');
// Register wp_nav_menu() menus (http://codex.wordpress.org/Function_Reference/register_nav_menus)
//register_nav_menus(array(
// 'primary_navigation' => __('Primary Navigation', 'hchw'),
// 'sub_navigation' => __('Sub Navigation', 'hchw'),
//));
register_nav_menu('primary_navigation', 'Primary Navigation');
// Add post formats (http://codex.wordpress.org/Post_Formats)
// add_theme_support('post-formats', array('aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'));
// Tell the TinyMCE editor to use a custom stylesheet
add_editor_style('assets/css/editor-style.css');
/**
* Custom images size
**/
// Add post thumbnails (http://codex.wordpress.org/Post_Thumbnails)
// This is then pulled through to your theme useing the_post_thumbnail('custombig');
add_theme_support('post-thumbnails');
set_post_thumbnail_size(150, 150, false);
add_image_size('category-thumb', 300, 9999); // 300px wide (and unlimited height)
add_image_size('postfull', 504, 334); // Blog Post Full-Size
add_image_size('customfeatins', 248, 165, true); //hp featured inset
add_image_size('customfeatblg', 290, 192, true); //int featured inset
add_image_size('customfeed', 136, 90, true); //feed thumbnails
add_image_size('customparade', 176, 98, true); //logo parade
}
// Move me outside the function
add_action('after_setup_theme', 'hchw_setup');