2010-11-18 37 views
16

Tôi bị mất một chút.Wordpress - hiển thị tiện ích cụ thể

Giả sử tôi có thanh công cụ dynmic footer-siderbar. Dễ dàng cho đến nay.

<footer> 
    <?php get_sidebar("name") ?> 
</footer> 

Displys it in footer.

Nhưng chúng tôi đang ở đây. Tôi muốn M EI tiện ích con bên trong lưới của tôi:

 <footer> 
     <div style="width: 100px:"> 
      <div style="width: 25%">First widget here</div> 
      <div style="width: 25%">Second widget here<</div> 
      <div style="width: 25%">Third widget here<</div> 
      <div style="width: 25%">Fourth widget here<</div> 
      </div> 
     </footer> 

Vì vậy, get_sidebar không phải là một tùy chọn ngay bây giờ, vì nó hiển thị tất cả các tiện ích liên tiếp. Và tôi không muốn tự chỉnh sửa tiện ích con.

Làm cách nào để thực hiện điều đó trong các chủ đề?

Cảm ơn.

Trả lời

15

Bạn có thể sử dụng chức năng 'the_widget' cho việc này:

thông tin
<?php the_widget($widget, $instance, $args); ?> 

thêm có thể được tìm thấy trên Wordpress Codex - The_Widget reference.

+2

Ý tưởng tốt đẹp, nhưng như xa như tôi biết the_widget yêu cầu tên phụ tùng như tham số đầu tiên và tôi không biết những gì sẽ là tên của các tiện ích ở chân. Tôi chỉ có tên thanh bên. – fomicz

+2

Bạn đã quản lý để sử dụng the_widget để hiển thị một widget hiện có (thay vì tạo một widget mới)? Làm thế nào bạn đạt được nó? – NPC

+1

bạn đặt ví dụ và $ args là gì? làm thế nào để bạn biết những gì để đặt. – ahnbizcad

2

Đây là một tài liệu tham khảo tốt cũng - Function Reference/dynamic sidebar « WordPress Codex

Nếu bạn sử dụng phương pháp trên trang đó:

<ul id="sidebar"> 
<?php if (!dynamic_sidebar()) : ?> 
    <li>{static sidebar item 1}</li> 
    <li>{static sidebar item 2}</li> 
<?php endif; ?> 
</ul> 

Sau đó bạn có thể sử dụng phong cách CSS để xác định vị trí các widget sidebar trên chân.

Chỉnh sửa để bao gồm những điều sau đây ...

Arras theme CSS:

#footer    { margin: 20px auto 0; width: 980px; background: #ECEBE6; padding-bottom: 10px; border: 1px solid #CCC; } 
#footer .widgetcontainer { padding: 5px 10px; min-width: 150px; } 
.no-js #footer .widgetcontainer { height: 190px; } 
#footer .widgettitle { background: none; border: none; font-size: 14px; color: #444; padding: 0 0 10px; letter-spacing: -1px; } 
#footer .widgetcontent { font-size: 12px; background: none; padding: 0; border: none; } 
#footer .footer-message { margin: 0; padding: 10px 15px 0; font-size: 11px; } 
#footer .footer-message p { margin: 0 0 0.5em; } 
#footer .footer-message .floatright { margin-left: 20px; } 
#footer-sidebar  { overflow: hidden; margin: 10px 10px 0; padding: 0 0 10px; border-bottom: 1px solid #CCC; } 
#footer-sidebar .widgetcontainer { float: left; margin: 0; max-width: 250px; } 
#footer-sidebar ul { list-style: none; margin: 0; padding: 0; } 
#footer-sidebar li { margin: 0 0 3px; } 

Footer mã hóa:

<ul id="footer-sidebar" class="clearfix xoxo"> 
     <?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Footer')) : ?> 
     <li></li> 
    <?php endif; ?> 
</ul> 

Trong chủ đề đó sau đó đặt các widget trên trang.

+0

Cảm ơn bạn, đã đào Codex trong vài giờ, nhưng vẫn không có may mắn. – fomicz

+0

Xem chỉnh sửa ở trên, điều đó có thể hữu ích hơn một chút. –

+0

Ngoài ra nếu bạn có một cái nhìn tại chủ đề Arras họ đang chạy cùng một ý tưởng trên chân - http://demo.arrastheme.com/ –

0

Hoặc bạn cũng có thể sử dụng:

<?php dynamic_sidebar('sidebar-1'); ?> 
0

Bạn có thể sử dụng tùy chọn Widget Plugin để hạn chế hoặc kiểm soát các vật dụng tầm nhìn trên bất kỳ trang và thiết bị; có sẵn miễn phí trên kho lưu trữ: https://wordpress.org/plugins/widget-options/. Hoặc thử sử dụng widget_display_callbackhttps://developer.wordpress.org/reference/hooks/widget_display_callback/. Tôi hi vọng cái này giúp được.

function custom_display_callback($instance, $widget, $args){ 
    if(is_page()){ 
     return false; 
    } 
    return $instance; 
} 
add_filter('widget_display_callback', 'custom_display_callback', 50, 3); 

enter image description here

Các vấn đề liên quan