เปลี่ยนธีมไปๆมาๆ ขึ้น HTTP ERROR 500
wp-config.php
define( 'WP_DEBUG', false );
change that to
define( 'WP_DEBUG', true );
Then when you try to login you should get a list of errors.
refresh ใหม่จะเห็น error ว่าธีมไหน ไฟล์ไหน
แล้วให้ลบธีมนั้น หรือ เปลียนชื่อธีมอื่นป็นชื่อธีมนี้ มันจะอ่านจากธีมที่เราเปลี่ยนชื่อ พอได้เเล้วก็เปลี่ยนธีมแล้วเปลี่ยนกลับ
สิ่งที่อาจจะเจอคือ มันจะขึ้น error เกียวกับ sidebar
Notice: register_sidebar was called incorrectly. No id
was set in the arguments array for the “WG1” sidebar. Defaulting to “sidebar-1”. Manually set the id
to “sidebar-1” to silence this notice and keep existing sidebar content. Please see Debugging in WordPress for more information. (This message was added in version 4.2.0.) in /…/domains/vir9.com/public_html/travel/wp-includes/functions.php on line 4139
อาจจะเป็น code เก่า ที่มีการแก้ไข เพ่มเติม widget แต่ไฟล์ code อาจจะไม่อัพเดท ให้แก้ code widget
https://codex.wordpress.org/Widgetizing_Themes
functions.php
ลบ WG1 ,WG2 ที่สร้างขึ้นมาเอง (code อาจจะไม่สมบูรณ์) แล้วใส่ code นี้แทนข้างล่างสุด
<?php /** * Register our sidebars and widgetized areas. * */ function arphabet_widgets_init() { register_sidebar( array( 'name' => 'Home right sidebar', 'id' => 'home_right_1', 'before_widget' => '<div>', 'after_widget' => '</div>', 'before_title' => '<h2 class="rounded">', 'after_title' => '</h2>', ) ); } add_action( 'widgets_init', 'arphabet_widgets_init' ); ?>
ไปที่ index.php หรือ sidebar.php
ใส่ code นี้เพื่อให้แสดง
<?php if ( is_active_sidebar( 'home_right_1' ) ) : ?> <div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary"> <?php dynamic_sidebar( 'home_right_1' ); ?> </div><!-- #primary-sidebar --> <?php endif; ?>
หรือ เปลี่ยนธีม
หรือ ปิดบังไม่ให้แสดง error
แก้ที่
wp-config.php
define( 'WP_DEBUG', true ); define( 'WP_DEBUG', false );
หมายเหตุ
integra Theme คือ insurancethai ที่ปรับเปลี่ยนรูปแบบใหม่อย่างย่อ
Add a new widget area to a WordPress theme
แสดงในที่ต้องการ
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar("Name of Widgetized Area") ) : ?> <?php endif;?>
functions.php
if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'Name of Widgetized Area', 'before_widget' => '<div class = "widgetizedArea">', 'after_widget' => '</div>', 'before_title' => '<h3>', 'after_title' => '</h3>', ) );
The code above should be wrapped in PHP open and close(, respectively) tags. If you already have a functions.php file those tags will already be there. If you created one yourself you will have to add them.
Make sure to change the name of the function (in this case it is “Name of Widgetized Area”) so that it matches the name you gave it in step 1.
The ‘before_widget’ and ‘after_widget’ parameters allow you to specify what code you would like to put before and after each widget. In this case I put a div with an class for styling purposes.
The ‘before_title’ and ‘after_title’ parameters allow you to wrap the widget titles in code. In this case I wrapped the title in
อื่นๆ
https://premium.wpmudev.org/blog/create-custom-wordpress-widget/