Rumah  >  Soal Jawab  >  teks badan

Penghurai menu bar navigasi menggunakan Bootstrap 5 dan WordPress

Percubaan pertama saya untuk mengintegrasikan Bootstrap 5.2 ke dalam laman WordPress (ini hanyalah ujian tempatan). Saya melakukannya dengan wp-bootstrap-walker yang saya temui: https://github.com/wp-bootstrap/wp-bootstrap-navwalker/

Saya menambah fail "/class-wp-bootstrap-navwalker.php" yang disebut dalam panduan pemasangan ke functions.php:

function register_navwalker(){
            require_once get_template_directory() . '/class-wp-bootstrap-navwalker.php';
        }
        add_action( 'after_setup_theme', 'register_navwalker' ); 
        
        register_nav_menus( array(
            'primary' => __( 'Main header menu', 'mytheme' ),
        ) );

Untuk menggunakan versi 5, saya juga menukar ini:

'walker'          => new WP_Bootstrap_Navwalker(),
+    'walker'          => 'WP_Bootstrap_Navwalker',

Jadi tiada ralat ditunjukkan sehingga di sini, dan dalam bahagian belakang WordPress saya boleh memilih menu "Menu Tajuk Utama" yang ditakrifkan dalam functions.php, masalahnya ialah apabila saya memilih pilihan ini dan pergi ke halaman utama, maka semuanya ranap :

: Uncaught Error: Call to a member function walk() on string in C:laragonwwwmydirectorywp-includesnav-menu-template.php:622 Stack trace: #0 C:laragonwwwmydirectorywp-includesnav-menu-template.php(242): walk_nav_menu_tree(Array, 2, Object(stdClass)) #1 C:laragonwwwmydirectorywp-contentthemesmy-themeheader.php(61): wp_nav_menu(Object(stdClass)) #2 C:laragonwwwmydirectorywp-includestemplate.php(783): require_once('C:\laragon\www\...') #3 C:laragonwwwmydirectorywp-includestemplate.php(718): load_template('C:\laragon\www\...', true, Array) #4 C:laragonwwwmydirectorywp-includesgeneral-template.php(48): locate_template(Array, true, true, Array) #5 C:laragonwwwmydirectorywp-contentthemesmy-themeindex.php(8): get_header() #6 C:laragonwwwmydirectorywp-includestemplate-loader.php(106): include('C:\laragon\www\...') #7 C:laragonwwwmydirectorywp-blog-header.php(19): require_once('C:\laragon\www\...') #8 C:laragonwwwmydirectoryindex.php(17): require('C:\laragon\www\...') #9 {main} thrown in


P粉106715703P粉106715703300 hari yang lalu404

membalas semua(1)saya akan balas

  • P粉693126115

    P粉6931261152024-01-17 10:17:31

    Saya menyelesaikannya dengan menulis ini:

    function register_navwalker(){
        require_once get_template_directory() . '/class-wp-bootstrap-navwalker.php';
    }
    add_action( 'init', 'register_navwalker' );

    Saya menulis init dan bukannya after_setup_theme untuk melaksanakan fungsi, dan menggunakan wp_loaded berfungsi dengan baik.

    balas
    0
  • Batalbalas