So installieren Sie den Bootstrap im untergeordneten Thema

Irgendetwas läuft schief, wenn ich versuche, das Bootstrap-Nav mit einem Kindthema zu verwenden, und ich kann es mir nicht für das Leben von mir vorstellen.

Das übergeordnete Thema heißt Revera.

Dies ist ein Bootstrap-Thema. Es enthält die Dateien bootstrap.min.js und bootstrap.min.css. Allerdings scheint die verwendete Version alt und ich denke, es ist, was verursacht die Bootstrap Navbar ich hinzugefügt, um nicht ganz funktioniert (es scheint zu funktionieren, aber das Styling ist nicht richtig. Die drei Balken für das mobile Menü fehlen und das Wort “Toggle Navigation” wird in der Navigationsschaltfläche angezeigt.

Ich möchte eine aktualisierte Bootstrap-Version mit einem untergeordneten Thema verwenden. Aber jede Art, wie ich das versucht habe, scheint nicht zu funktionieren. In der functions.php des Kinderthemas habe ich:

function enqueue_child_theme_styles() { wp_register_script( 'bootstrap-js', get_template_directory_uri() . '/bootstrap/js/bootstrap.min.js', array('jquery'), NULL, true ); wp_register_style( 'bootstrap-css', get_template_directory_uri() . '/bootstrap/css/bootstrap.min.css', false, NULL, 'all' ); wp_enqueue_script( 'bootstrap-js' ); wp_enqueue_style( 'bootstrap-css' ); } add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX); 

Der obige Code scheint jedoch nichts zu tun. Ich habe versucht, alle möglichen Dinge zu versuchen und zu beheben, aber nichts scheint zu funktionieren. Was vermisse ich?

Solutions Collecting From Web of "So installieren Sie den Bootstrap im untergeordneten Thema"

get_template_directory_uri immer den URI des übergeordneten Themas zurück.

Aus den Dokumenten:

Wenn ein untergeordnetes Thema verwendet wird, wird der übergeordnete Themenverzeichnis-URI zurückgegeben

Sie möchten wahrscheinlich get_stylesheet_directory_uri .

 add_action('wp_enqueue_scripts', 'wpse174502_styles', PHP_INT_MAX); function wpse174502_styles() { wp_enqueue_script('bootstrap-js', get_stylesheet_directory_uri().'/bootstrap/js/bootstrap.min.js', array('jquery'), NULL, true); wp_enqueue_style('bootstrap-css', get_stylesheet_directory_uri().'/bootstrap/css/bootstrap.min.css', false, NULL, 'all'); } 

Wann immer Sie Enqueues debuggen, achten Sie darauf, dass …

  1. Überprüfen Sie die gerenderte Seitenquelle. Sind die von Ihnen erwarteten Vermögenswerte enthalten?
  2. Überprüfen Sie die Developer Tools-Konsole in Ihrem bevorzugten Browser. Gibt es Fehler? Sind diese Fehler mit Ihren Vermögenswerten verbunden?

Ok ich fand das Problem war mehrteilig, aber ein großer Teil war Anfängererrors.

Die Berechtigungen für die Bootstrap-Dateien, die ich in das Child-Theme aufgenommen hatte, waren nicht korrekt eingestellt. Sie haben einen 403-Verboten-Fehler zurückgegeben, als Sie versuchten, sich in die Warteschlange einzuordnen. Ich habe es nicht bemerkt, weil die übergeordneten Bootstrap-Dateien immer noch in die Warteschlange eingereiht wurden. Erst nachdem ich die Stylesheets der Elterndatei gelöscht hatte, erkannte ich den Fehler.

Mein letzter Code:

 function enqueue_child_theme_styles() { //deregister the parent bootstrap style and script wp_deregister_style( 'bootstrap' ); wp_deregister_script( 'bootstrap' ); //enqueue my child theme stylesheet wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('theme') ); //enqueue bootstrap in the child theme wp_enqueue_script('bootstrap-js', get_stylesheet_directory_uri().'/bootstrap/js/bootstrap.min.js', array('jquery'), NULL, true); wp_enqueue_style('bootstrap-css', get_stylesheet_directory_uri().'/bootstrap/css/bootstrap.min.css', false, NULL, 'all'); } add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);