PHP Warning: in_array() expects parameter 2 to be array, string given in /home/.../public_html/wp-includes/formatting.php on line 342
อ้างถึง// Handle disabled tags.
if ( in_array( $tag, $disabled_elements ) ) { // บรรทัดที่ 342
if ( $opening_tag ) {
/*
* This disables texturize until we find a closing tag of our type
* (e.g. <pre>) even if there was invalid nesting before that
*
* Example: in the case <pre>sadsadasd</code>"baba"</pre>
* "baba" won't be texturize
*/
array_push( $stack, $tag );
} elseif ( end( $stack ) == $tag ) {
array_pop( $stack );
}
}
แล้วอันนี้จะรู้ไหมครับ ว่ามันเตือนจากโค้ดไหน มันไม่บอกเลยว่ามาจากไฟล์ไหนครับ
PHP Notice: Undefined index: 36
PHP Notice: Undefined index: topicnameเตือนพวกนี้ขึ้นมาตลอดทุกครั้งที่มีการเปิดหน้าเว็บเลยครับ โค้ดมันผิดตรงไหนเหรอครับ ทั้งๆ ที่มันก็เป็นโค้ดตรงๆ มาจาก wordpress เอง
อาจจะเกิดการผิดพลาดระหว่างการอัพเดทได้
ลอง Re-Install อีกรอบดูก่อนครับ
หากพูดตามหลักการของ PHP นะครับ (ผมไม่ค่อยรู้เรื่อง WP)
จากบรรทัดนี้
if ( in_array( $tag, $disabled_elements ) ) {
มันเป็นการแจ้งว่า ค่า $disabled_elements ที่ได้รับ ไม่ใช่ array
วิธีแก้ไขเพื่อการทดสอบ
ลองเพิ่มโค๊ดนี้ดูครับ
$disabled_elements = array();
if ( in_array( $tag, $disabled_elements ) ) {
ไม่รับประกันอะไรทั้งสิ้นนะครับ ผมว่าตามหลักเท่านั้นเอง
และไม่รู้ว่าจะช่วยได้ไหม เพราะผมไม่รู้ว่า WP ใช้ฟังชั่นนี้ตรงไหนอีกบ้าง เกี่ยวพันไปถึงส่วนไหนอีกบ้าง
อ้างถึงจาก: Zentana ใน 12 สิงหาคม 2015, 10:52:16
อาจจะเกิดการผิดพลาดระหว่างการอัพเดทได้
ลอง Re-Install อีกรอบดูก่อนครับ
ผมไปอัพเดทเองครับ ปกติเคยทำก็ไม่มีปัญหา
ทับหมดทุกไฟล์เว้น wp-contant wp-config.php มันก็แจ้งวันอัพเดทสำเร็จครับ
ถ้าไม่ได้จริงๆ เดี๋ยวลองเอาแบคอัพมาลงใหม่ครับ
อ้างถึงจาก: sputtaro ใน 12 สิงหาคม 2015, 11:02:52
หากพูดตามหลักการของ PHP นะครับ (ผมไม่ค่อยรู้เรื่อง WP)
จากบรรทัดนี้
if ( in_array( $tag, $disabled_elements ) ) {
มันเป็นการแจ้งว่า ค่า $disabled_elements ที่ได้รับ ไม่ใช่ array
วิธีแก้ไขเพื่อการทดสอบ
ลองเพิ่มโค๊ดนี้ดูครับ
$disabled_elements = array();
if ( in_array( $tag, $disabled_elements ) ) {
ไม่รับประกันอะไรทั้งสิ้นนะครับ ผมว่าตามหลักเท่านั้นเอง
และไม่รู้ว่าจะช่วยได้ไหม เพราะผมไม่รู้ว่า WP ใช้ฟังชั่นนี้ตรงไหนอีกบ้าง เกี่ยวพันไปถึงส่วนไหนอีกบ้าง
ขอบคุณครับ เดี๋ยวไปลองดูก่อนครับ
เข้ามาฟังด้วยครับผม ขอบคุณคร้าบ :wanwan017:
โอ้ มันไม่เตือนแล้วครับ ทำตามที่ คุณ sputtaro บอกไว้ครับ ขอบคุณมากๆ ครับ
แล้วอันนี้คืออะไรเหรอครับ
PHP Warning: htmlspecialchars() [<a href='function.htmlspecialchars'>function.htmlspecialchars</a>]: Invalid multibyte sequence in argument
มันมาจากโค้ดนี้ครับ
อ้างถึงfunction sp_filter_tooltip_display($content, $status) {
global $spThisUser;
#save unedited content
$original = $content;
# can the current user view this post?
if (!$spThisUser->moderator && $status == 1) {
$content = sp_text('Post Awaiting Approval by Forum Administrator');
} else {
$content = addslashes($content);
$content = sp_filter_save_nohtml($content);
# remove shortcodes to prevent messing up tooltip
$content = strip_shortcodes($content);
$length = apply_filters('sph_tooltip_length_chars', 300);
if (strlen($content) > $length) {
$pos = strpos($content, ' ', $length);
if ($pos === false) $pos = $length;
$content = substr($content, 0, $pos).'...';
}
$content = htmlspecialchars($content, ENT_QUOTES, 'UTF-8'); // บรรทัดนี้ครับ ผมไปหาข้อมูลมา มีคนบอกให้ใส่ UTF-8 เพิ่ม แต่ของเดิมมันก็มีอยู่แล้วครับ
$content = str_replace('&', '&', $content);
}
$content = apply_filters('sph_display_tooltip_filter', $content, $original, $status);
return $content;
}
พวกที่ไม่บอกว่าเตือนจากไฟล์ไหน เราจะมีวิธีหาไหมครับ ว่ามันเป็นโค้ดไฟล์ไหน
มันขึ้นแค่ว่า undefined เท่านั้นเองครับ
อ้างถึงPHP Notice: Undefined offset: 1
PHP Notice: Undefined offset: 4
PHP Notice: Undefined index: topicname
PHP Notice: Undefined index: 36
$content = htmlspecialchars($content, ENT_QUOTES, 'UTF-8');
คำสั่งนี้ถูกต้องแล้ว แต่อาจเกิดจาก
PHP 5.4 and 5.5 will use UTF-8 as the default. Earlier versions of PHP use ISO-8859-1.
ลองสลับดูนะครับ เพราะไม่แน่ใจว่าควรใช้ อะไรแทน PHP เวอร์ชั่นที่คุณใช้อยู่
ส่วน
PHP Notice: Undefined offset: 1
PHP Notice: Undefined offset: 4
PHP Notice: Undefined index: topicname
PHP Notice: Undefined index: 36
พวกนี้ต้องให้ผู้เชี่ยวชาญ WP เป็นคนอธิบายจะดีกว่าครับ
************************************
ขอเพิ่มเติมเกี่ยวกับ encoding โดยเฉพาะในส่วนของการตั้งค่า default_charset configuration option
ลองอ่านจากลิ้งค์ข้างล่างด้วยนะครับ
http://php.net/manual/en/ini.core.php#ini.default-charset
เป็นเวอร์ชั่นนี้ครับ Php 5.3.28
เป็นจาก UTF-8 เป็น ISO-8859-1 ใช่ไหมครับ เดี๋ยวผมจะลองเปลี่ยนดูครับ เป็นอย่างไรจะมารายงานอีกทีครับ
warning หายไปแล้วครับ ขอบคุณมากๆ ครับ
เรื่องพวก php นี่รู้แค่ผิวๆ พอแค่ปรับแต่งได้ ไม่ก็หาใน gg
แต่ถ้าลึกขนาดวิเคราะห์ปัญหาได้ หรือหาในต่างประเทศก็ไม่เจอเคสคล้ายกัน นี่จนปัญญาเลยครับ
:wanwan017: :wanwan017: