Một số đoạn code hay dùng trong lập trình theme WordPress

Dưới đây là những đoạn code bạn sẽ dùng thường xuyên trong quá trình lập trình theme wordpress. Bạn chỉ cần hiểu tác dụng của nó như thế nào sau đó copy và dán nó để chạy.

1. Code lấy bài viết mặt định

<!-- Get post mặt định -->
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<?php endwhile; else : ?>
<p>Không có</p>
<?php endif; ?>
<!-- Get post mặt định -->

Đoạn code đặt trong index sẽ lấy list bài viết mới nhất, Đặt trong category sẽ lấy danh sách bài viết của category đó, đặt trong single sẽ lấy nội dung của bài đó!.

2. Code lấy 10 bài viết mới nhất theo category

<!-- Get post News Query -->
<?php $getposts = new WP_query(); $getposts->query('post_status=publish&showposts=10&post_type=post&cat=1'); ?>
<?php global $wp_query; $wp_query->in_the_loop = true; ?>
<?php while ($getposts->have_posts()) : $getposts->the_post(); ?>

<?php endwhile; wp_reset_postdata(); ?>
<!-- Get post News Query -->

  • showposts=10 sẽ lấy 10 bài viết mới nhất
  • cat=1  chỉ lấy các bài viết có cat_id bằng 1

3. Code lấy danh sách chuyên mục

<!-- Get category -->
<?php $args = array( 
    'hide_empty' => 0,
    'taxonomy' => 'category',
    'orderby' => id,
    ); 
    $cates = get_categories( $args ); 
    foreach ( $cates as $cate ) { ?>
        <li>
            <a href="<?php echo get_term_link($cate->slug, 'category'); ?>"><?php echo $cate->name ?></a>
        </li>
<?php } ?>
<!-- Get category -->

Đây là đoạn code lấy danh sách các chuyên mục, ‘taxonomy’ => ‘category’ có nghĩa là lấy theo category.

4. Code tạo menu

Code này sẽ tạo 3 vị trí đặt menu như trên, Bỏ đoạn code nào vào file functions.php nhé

5. Code get menu

<?php wp_nav_menu( 
    array( 
        'theme_location' => 'main_nav', 
        'container' => 'false', 
        'menu_id' => 'header-menu', 
        'menu_class' => 'menu-main'
    ) 
); ?>

Đây là code get menu, chú ý ‘theme_location’ => ‘main_nav’,  đây là điểu kiệu chúng ta sẽ lấy menu nào, code này thường được chèn vào file header.php

6. Code tạo sidebar

Đây là code tạo ra 1 sidebar. Đặt code này vào file functions.php nhé!

7. Code get sidebar

Đây là code lấy sidebar ra ngoài, code này thường được đặt trong file sidebar.php

8. Code phân trang

<?php if(paginate_links()!='') {?>
<div class="quatrang">
    <?php
    global $wp_query;
    $big = 999999999;
    echo paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'prev_text' => __('«'),
        'next_text' => __('»'),
        'current' => max( 1, get_query_var('paged') ),
        'total' => $wp_query->max_num_pages
        ) );
    ?>
</div>
<?php } ?>

Code này thường chèn dưới đoạn code số 1 (Code get post mặt định)

9. Code crop ảnh úp lên media

Khi chèn đoạn code này vào file functions.php, hình ảnh upload lên media sẽ được từ động crop thành 4 kích thước như trên.

10. Code lấy ảnh Thumbnail

11.Code bài viết liên quan

Hiển thị vài viết liên quan theo category

2 đoạn code này thường được đặt dưới nội dung bài viết, tức phần dưới của file single.php

12.Code tính lượt view cho bài viết

Đây là code tính lượt view cho bài viết. Code này được đặt trong file functions.php

Sử dụng: 

Chèn code này vào trong file single.php 

<?php
   setpostview(get_the_id());
?>

Hiển thị lượt view:

13.Code lấy nội dung bài viết rút gọn.

Đây là code lấy nội dung bài viết được chỉ định số từ nhất định. Cách dùng <?php echo teaser(30); ?>, Với được code trên mình sẽ lấy 30 từ đầu tiên trong bài viết!

14.Code lấy tất cả hình ảnh trong nội dung bài viết.

Chèn code này trong file functions.php, để hiển thị chúng ta dùng forech nó ra nhé!

15.Code lấy custom filed

16.Code like box facebook

<div class="fb-page" data-href="https://facebook.com/huykiradotnet" data-hide-cover="false" data-show-facepile="true" data-show-posts="false"></div>

<div id="fb-root"></div>
<script>
(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v2.7;
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

17.Code share bài viết liên mạng xã hội

18.Code query bài viết theo custom filed

Query 1 custom filed.

<?php

// args
$args = array(
    'numberposts' => -1,
    'post_type' => 'event',
    'meta_key' => 'location',
    'meta_value' => 'Melbourne'
);

// query
$the_query = new WP_Query( $args );

?>
<?php if( $the_query->have_posts() ): ?>
    <ul>
    <?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
        <li>
            <a href="<?php the_permalink(); ?>">
                <img src="<?php the_field('event_thumbnail'); ?>" />
                <?php the_title(); ?>
            </a>
        </li>
    <?php endwhile; ?>
    </ul>
<?php endif; ?>

<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?>

Query nhiều filed

<?php

// args
$args = array(
    'numberposts' => -1,
    'post_type' => 'event',
    'meta_query' => array(
        'relation' => 'AND',
        array(
             'key' => 'location',
             'value' => 'Melbourne',
             'compare' => '='
        ),
        array(
             'key' => 'attendees',
             'value' => 100,
             'type' => 'NUMERIC',
             'compare' => '>'
        )
    )
);


// query
$the_query = new WP_Query( $args );

?>
<?php if( $the_query->have_posts() ): ?>
    <ul>
    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
        <li>
            <a href="<?php the_permalink(); ?>">
                <img src="<?php the_field('event_thumbnail'); ?>" />
                <?php the_title(); ?>
            </a>
        </li>
    <?php endwhile; ?>
    </ul>
<?php endif; ?>

<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?>

19.Code lấy bài viết ngẫu nhiên.

Đoạn code trên lấy 35 bài viết ngẫu nhiên.

20.Code lấy 10 comment mới nhất

<?php
    $cmt = get_comments(array( 
        'status' => 'approve',
        'number'=> 10,
    ));
?>
<div class="content-w content-news">
    <ul>
        <?php foreach ($cmt as $value) { ?>
        <li>
            <a href="<?php the_permalink($value->comment_post_ID);?>#comment-<?php echo $value->comment_ID; ?>"><?php echo get_avatar($value->comment_author_email, 150 ); ?></a> 
            <a href="<?php the_permalink($value->comment_post_ID); ?>#comment-<?php echo $value->comment_ID; ?>"><?php echo $value->comment_author; ?></a> - <span style="color: #cd8a35;font-size: 12px;"><?php echo $value->comment_date; ?></span>
            <p style="font-size: 13px;"><?php echo cuttitle($value->comment_content); ?></p>
            <div class="clear"></div>
        </li>
        <?php } ?>
     </ul>
</div>

21.Code comment bằng facebook cho wordpress

<div class="cmt">
    <div class="fb-comments" data-width="100%" data-href="<?php the_permalink(); ?>" data-numposts="3"></div>
</div>

<div id="fb-root"></div>
<script>
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v2.7&appId=750688268378229";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

22. Code tạo 1 sortcode đơn giản trong wordpress

Đây là sortcode list ra 10 vài viết ngẫu nhiên. Cách dùng là:

23. Code tự động lưu ảnh về host khi copy bài từ nguồn khác.

Cài này chèn vào file functions.php nha!

24. Code lấy ảnh đầu tiên trong bài viết làm ảnh đại diện

<div class="widget">
    <h3>
        Bài viết xem nhiều
    </h3>
    <div class="content-w">
        <ul>
            <?php $getposts = new WP_query(); $getposts->query('post_status=publish&showposts=8&post_type=post&meta_key=views&orderby=meta_value_num'); ?>
            <?php global $wp_query; $wp_query->in_the_loop = true; ?>
            <?php while ($getposts->have_posts()) : $getposts->the_post(); ?>
                 <li>
                     <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
                 </li>
            <?php endwhile; wp_reset_postdata(); ?>
        </ul>
    </div>
</div>

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *