Rumah > Soal Jawab > teks badan
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粉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.