+++ แก้ไข Sidebar.php และ Single.php ใน Wordpress +++

เริ่มโดย lipokez, 09 ธันวาคม 2007, 10:50:25

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

lipokez

คือผมอยากจะแก้ไฟล์ Single.php น่ะครับ

คืออยากจะให้มันไปดึงไฟล์ Sidebar2.php ( ผมสร้างขึ้นมาเอง ) แทน Sidebar.php

ไปเจอโค๊ดอยู่บรรทัดนึงที่น่าจะ่ใช่คือ ( โค๊ดบรรทัดนี้อยู่ใน Single.php นะครับ )
<?php get_sidebar(); ?>

ไม่ทราบว่าจะแก้ยังไงให้มันไปดึงไฟล์ Sidebar2.php แทนหรอครับ

เพราะผมลองแก้เป็น
<?php get_sidebar2(); ?>

มันก็ Error หรือว่า ต้องไปแก้ในไฟล์อื่น ๆ อีก

รบกวนเซียน Wordpress ทีครับ  :-*
[direct=http://androidthaiupdate.blogspot.com/]แอนดรอยด์ไทยอัพเดท[/direct]

au8ust


Clicker

น่าจะเข้าไปแก้ในส่วนของ widget ด้วย เพราะตอนนี้ก็กำลังงมอยู่เหมือนกัน ยังไงก็รอเซียนๆ มาตอบแล้วกัน  :-\
ใครมี Bitcoin PM ด่วน
คืนให้ 3 เท่า ต้องการเพียง 1 ฺBTC เท่านั้น

ต้องการข้อมูลเพิ่มเติม PM ได้เลย

lipokez

อ้างถึงจาก: au8ust ใน 09 ธันวาคม 2007, 10:58:28
จะทำ 2 sidebar with widget support เหรอครับ?

2 sidebar with widget support คืออะไร :-X

แต่น่าจะไม่ใช่

แค่อยากจะทำให้ Sidebar ของหน้าแรก กับหน้า Single ให้ไม่เหมือนกัน

ใครมีวิธีง่าย ๆ ก็แนะนำได้นะครับ
[direct=http://androidthaiupdate.blogspot.com/]แอนดรอยด์ไทยอัพเดท[/direct]

daydies

อ้างถึงจาก: lipokez ใน 09 ธันวาคม 2007, 10:50:25
คือผมอยากจะแก้ไฟล์ Single.php น่ะครับ

คืออยากจะให้มันไปดึงไฟล์ Sidebar2.php ( ผมสร้างขึ้นมาเอง ) แทน Sidebar.php

ไปเจอโค๊ดอยู่บรรทัดนึงที่น่าจะ่ใช่คือ ( โค๊ดบรรทัดนี้อยู่ใน Single.php นะครับ )
<?php get_sidebar(); ?>

ไม่ทราบว่าจะแก้ยังไงให้มันไปดึงไฟล์ Sidebar2.php แทนหรอครับ

เพราะผมลองแก้เป็น
<?php get_sidebar2(); ?>

มันก็ Error หรือว่า ต้องไปแก้ในไฟล์อื่น ๆ อีก

รบกวนเซียน Wordpress ทีครับ  :-*

เข้าไปแก้ในไฟล์ general-template.php ใน wp-admin ก่อนนะครับ ให้เพิ่มฟังก์ชันเรียก sidebar2 เข้ามาเสียก่อน แล้วจึงจะสามารถเรียกใช้งาน ตามวิธีที่คุณเรียกใช้อ่ะครับ เพิ่มคำสั่งนี้เข้าไปเลย

function get_sidebar2() {
do_action( 'get_sidebar2' );
if ( file_exists( TEMPLATEPATH . '/sidebar2.php') )
load_template( TEMPLATEPATH . '/sidebar2.php');
else
load_template( ABSPATH . 'wp-content/themes/default/sidebar.php');
}


ลองใช้งานดูนะครับ ตามจริงแล้ว WordPress มันเล่นกับ Single, Home, Page, Cat, Tag และอื่นๆได้ดีกว่านี้เยอะครับ ถ้ารู้จักคำสั่งเรียก Tag ภายใน Theme เช่น

<?php if (is_category() || is_tag() || is_single() ) { ?>
คำสั่งหรือการเรียกใช้งานส่วนต่างๆ
<?php ?>


ถ้าเพิ่มแบบข้างบนนี้เข้าไปใน Sidebar การแสดงผลในส่วนนี้ จะแสดงในหน้าหมวดหมู่ หน้าโดดๆและหน้า Tags เท่านั้น แต่ไม่แสดงผลในหน้า Home และถ้าจะทำเช่นนั้น ผมแนะนำให้มาเล่นวิธีทีสองนะครับ เพราะว่าจะได้ไม่ต้องเข้าไปยุ่งกับไฟล์ระบบของ WordPress โดยตรง
::)

au8ust

งั้นก็ทำ Dynamic sidebar สองอัน แล้วในหน้า index เรียกตัว 1 หน้า Single เรียกตัว 2

ตอนเขียน functions.php ให้เขียน if ( function_exists('register_sidebar') )
    register_sidebars(2);


สังเกตตรง (2) อันนั้นให้ใส่จำนวน sidebar ที่ต้องการ เวลาเราเรียกในไฟล์ก็เรียกโดยใช้ <?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar(xxx) ) : ?>

<?php endif; ?>

ตรง (xxx) ใส่ตัวเลข sidebar ที่เราทำ dynamic sidebar ตอนแรก

อ่านเพิ่มเิอาใน http://automattic.com/code/widgets/themes/


ป.ล. ไม่ใช่โปเกม่อน เลยอธิบายไม่เก่ง แต่เคยทำมาแล้ว :D

lipokez

ขอบคุณทั้ง 2 ท่านมาก ๆ เลยครับ

ขอตัวไปลองก่อน ^^
[direct=http://androidthaiupdate.blogspot.com/]แอนดรอยด์ไทยอัพเดท[/direct]