9 thứ bạn nên biết nếu bạn muốn trở thành nhà phát triển Wordpress

Thảo luận trong 'Wordpress' bắt đầu bởi babyinternet, 23/8/13.

  1. babyinternet

    babyinternet Administrator

    Tham gia ngày:
    4/7/08
    Bài viết:
    4,656
    Đã được thích:
    1,580
    Điểm thành tích:
    113
    Nơi ở:
    [}{]e[][]
    Wordpress - cái tên không còn xa lạ với giới webmaster Việt Nam từ mấy năm nay nữa. Tuy không phải tất cả ai cũng có thể sử dụng Wordpress với tư cách như một nhà phát triển nhưng sự phát triển mạnh mẽ của Wordpress là một điều không phải bàn cãi.

    Dưới đây là một vài lưu ý nho nhỏ dành cho những bạn mới làm quen với WP và ngay cả những nhà phát triển plugin WP thực thụ đang có trên VNWebmaster.COM

    [​IMG]

    Rule number 1: không nên sử dụng hàm query_posts()


    Vì rất nhiều lý do, mình khuyên mọi người không nên sử dụng hàm query_posts() - hàm mà hiện nay mình thấy rất nhiều theme của Việt Nam vẫn còn đang xài. Đây là một hàm lặp đơn giản của Wordpress nhưng lại được xây dựng dựa trên Query code. Nó sẽ chạy rất nhiều hoạt động nền bên dưới trước khi gọi get_posts() và sau đó lại gọi rất nhiều đoạn mã để dọn dẹp đống lộn xộn này.

    Trong một khoảng thời gian rất ngắn, WP sẽ gọi load những query chính của hệ thống trước, sau đó mới gọi tập tin giao diện và tải những query trong tập tin giao diện đó. Vì vậy, nếu bạn gọi query_post() trong file index.php của bạn thì thực tế nó đã được gọi tới 2 lần ngay khi bạn gọi nó lần đầu tiên. Nghĩa là thực tế số lần query chạy dưới nền sẽ là 8 (mỗi WP_Query sẽ thực hiện 4 truy vấn : gọi posts, count posts, gọi metadata, gọi terms).

    Vậy những việc bạn nên làm là gì:

    1. Sử dụng WP_Query object bất cứ khi nào bạn cần nhiều vòng lặp trên một trang, cho dù là trong vòng lặp con hay bên ngoài vòng lặp mẹ. Tóm lại chỗ nào có thể xài được thì cứ xài.
    2. Sử dụng pre_get_posts để filter và sửa đổi vòng lặp chính(trong khá nhiều trường hợp bạn đã xài query_posts). Chỉ cần cho pre_get_posts chạy qua khi cần đổi trực tiếp đối tượng WP_Query(thay vì phải thực hiện một truy vấn mới).
    3. Sử dụng get_posts() nếu bạn không cần đến việc lặp dữ liệu.

    Rule number 2. Luôn sử dụng wp_enqueue_script cho script và style

    Khi bạn code một plugin, làm một giao diện mới...bạn thường xuyên phải tải thêm một file (js, CSS...) từ bên ngoài vào hệ thống WP. Nhưng WP có rất nhiều file và thư viện, chưa kể hệ thống plugin mà người dùng cài đặt cũng có thể trùng file với bạn (ví dụ như thư viện jquery). Trong trường hợp bạn gọi một thư viện JS 2 lần, layout của bạn có thể bị vỡ hoăc chịu ảnh hưởng khiến các hoạt động không còn trơn tru nữa.

    Một giải pháp đơn giản là bạn đăng ký với Wordpress rằng bạn chỉ muốn tải 1 bản duy nhất của một script nào đó và nếu nó đã có rồi thì bạn không cần phải tải lại nó bằng hàm wp_enqueue_script(). Cách sử dụng tương tự đối với các file styles, CSS, hay HTML Bootstrap...

    Rule number 3. Cache

    Nếu bạn là một người phát triển plugin, bạn nên biết các transients API - chúng cho phép bạn lưu trữ những tùy chọn của riêng bạn trong một khoảng thời gian ngắn. Vì vậy, bạn có thể lưu trữ những truy vấn không cần thiết phải duy trì liên tục để giảm tải hệ thống của mình. Ví dụ, bạn không cần thiết phải nhận phản hồi của khách hàng của bạn liên tục, bạn có thể thiết lập sau 20 phút một lần nhận phản hồi hoặc lâu hơn tùy bạn.

    Điều tuyệt là nó có thể lưu trữ toàn bộ kết quả truy vấn của bạn, nếu blog của bạn có chu trình cập nhật mỗi ngày là 1 lần, bạn có thể thiết lập cache mỗi 12 tiếng một lần và blog của bạn vẫn tốt.

    Rule number 4. Biết tất cả các nguồn feed của bạn.

    Hầu hết mọi người không dùng hết lượng feed mà họ có hoặc không biết tận dụng nó vào việc gì. Dưới đây là danh sách feed trên trang mà bạn có thể có được, hãy xem bạn có thể làm gì với số feed này.

    • Chính: site.com/feed
    • Comment(chung): site.com/comments/feed
    • Comment cho bài: site.com/post-name/feed
    • Categories & tags: site.com/category/categoryname/feed hoặc site.com/tag/tagname/feed
    • Sử dụng nhiều category id: site.com/?cat=42,25,17&feed=rss2 hoặc site.com/?cat=-123&feed=rss2
    • Tác giả: site.com/author/authorname/feed/
    • Tìm kiếm: site.com/?s=searchterm&feed=rss2
    • Custom Post Type: site.com/feed/?post_type=yourposttype
    • Custom Taxonomy: site.com/feed/?post_type=custom_post_type_name&taxonomy_name=taxonomy


    Rule number 5. Thêm featured image vào feed



    Cách làm tương đối đơn giản, nhưng kết quả thì sẽ rất tuyệt vời. Đặc biệt là khi người dùng của bạn đọc tin bằng các trình đọc RSS được định dạng. Đoạn mã sau sẽ làm được điều đó:

    PHP:
    function featured_image_in_feed$content ) {

        global 
    $post;

        if( 
    is_feed() ) {

            if ( 
    has_post_thumbnail$post->ID ) ){

                
    $output get_the_post_thumbnail$post->ID'medium', array( 'style' =&gt'float:right; margin:0 0 10px 10px;' ) );

                
    $content $output $content;

            }

        }

        return 
    $content;

    }

    add_filter'the_content''featured_image_in_feed' );
    Rule number 6. Tối ưu hóa dữ liệu(database) của bạn thường xuyên

    Bạn nên thường xuyên tối ưu hóa dữ liệu trong các table của mình (ít nhất một hoặc hai lần mỗi tháng là tốt nhất), bạn có thể sử dụng plugin hoặc làm việc đó bằng tay đều được. Việc tối ưu hóa sẽ giúp dữ liệu của bạn được tinh chỉnh lại sạch sẽ hơn, gọn gàng hơn và truy vấn dĩ nhiên cũng dễ dàng hơn. Sắp tới mình tôi sẽ viết 1 bài về vấn đề này, các bạn đón đọc nhé!

    Rule number 7. Bật GZIP

    Nén dữ liệu để giúp website tải xuống nhanh chóng và dễ dàng hơn. Cái này thì dev nào cũng phải biết.


    Mã:
    #Gzip
    
    <ifmodule mod_deflate.c>
    
    AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/CSS application/x-javascript application/javascript text/javascript
    
    </ifmodule>
    
    #End Gzip
    Rule number 8. Có những plugin cần thiết cho bản thân

    Một khi bạn đã trở thành nhà phát triển WP nói riêng và nhà phát triển web nói chung bạn cần phải có cho mình bộ ... đồ nghề cần thiết. Trong trường hợp này, tôi khuyên bạn nên chuẩn bị một vài thứ như các plugin cache dữ liệu, công cụ tối ưu hóa Database, plugin CSS and JS minifying...


    Rule number 9. Thường xuyên chia sẻ và trao đổi với cộng đồng Wordpress Việt Nam

    Kênh cộng đồng là nơi bạn dễ dàng tìm kiếm câu trả lời cho những câu hỏi mà bạn chưa tìm ra lời giải hay đơn giản là chia sẻ và học tập lẫn nhau. Ở Việt Nam có khá nhiều blog về wordpress nhưng có khá ít diễn đàn về nó. Một vài diễn đàn bạn có thể gặp gỡ và học hỏi, chia sẻ với các nhà phát triển wordpress khác như www.vnwebmaster.com, wordpress.net.vn...
     
  2. haihh

    haihh Guest

    Mình đọc bài này của bạn mình thấy rất bổ ích. Tuy nhiên là người mới chập chữ vào nghề nên một số thuật ngữ về wordpress vẫ còn đang mông lung lắm. Mình tâm đắc với mục Tối ưu hóa dữ liệu(database) của bạn thường xuyên. Hy vong thời gian gần nhất bạn sẽ share để mình nắm rõ hơn về điều này. Rất mong được tiếp tục chia sẻ.
     
  3. bestsongvn

    bestsongvn Đang làm quen

    Tham gia ngày:
    23/3/13
    Bài viết:
    184
    Đã được thích:
    0
    Điểm thành tích:
    16
    Một bài viết quá hay, chất lượng. Rule 1 là cái mình đang tìm hiểu,
    thay vì việc sử dụng query_post() có thể sử dụng get_posts() hoặc tạo mới đối tượng wp_query. Mình thì từ trước đến nay sử dụng wpdb

    Đối với việc load script và style sheet mà sử dụng như vậy rất hay
    Cảm ơn bác nhan!
     
  4. dvchukyso

    dvchukyso Lính mới

    Tham gia ngày:
    4/10/13
    Bài viết:
    7
    Đã được thích:
    0
    Điểm thành tích:
    1
    Mỉnh mới tập tành viết theme cho wordpress nên chưa hiểu sâu về nó , bài viết này đúng là thứ mình cần để viết theme tốt hơn . Thanks về bài viết .
     
  5. abc_travel

    abc_travel Lính mới

    Tham gia ngày:
    22/12/13
    Bài viết:
    7
    Đã được thích:
    0
    Điểm thành tích:
    1
    bài viết Rất hay, cảm ơn bạn, thật bổ ích cho những ai đang phát triển website nền tảng wordpress
     
  6. endino

    endino Lính mới

    Tham gia ngày:
    28/3/14
    Bài viết:
    10
    Đã được thích:
    0
    Điểm thành tích:
    1
    Mình dân ngoại đạo nên toàn setup themes có sẵn xong rồi chạy :dotnhang:
     
  7. kennyrose

    kennyrose Lính mới

    Tham gia ngày:
    11/11/13
    Bài viết:
    12
    Đã được thích:
    0
    Điểm thành tích:
    1
    Hay đó. Mình đang tìm hiểu về wordpress, bài viết này sẽ rất hữu ích cho mình và các bạn khác cũng đang nghiên cứu về wordpress như mình :)
     
  8. troile

    troile Lính mới

    Tham gia ngày:
    28/3/14
    Bài viết:
    6
    Đã được thích:
    0
    Điểm thành tích:
    1
    Mình đang tìm hiểu wordpress, gặp bài viết này thật là tốt. Rất hay cho những ai tìm hiểu wordpress.
     
  9. chuquang

    chuquang Lính mới

    Tham gia ngày:
    29/5/13
    Bài viết:
    17
    Đã được thích:
    0
    Điểm thành tích:
    1
    Trước giờ làm themes wordpress nhiều mà chưa bao giờ thực hiện được đầy đủ những cái này
     
  10. Tinhocaz

    Tinhocaz Đang làm quen

    Tham gia ngày:
    27/8/14
    Bài viết:
    44
    Đã được thích:
    0
    Điểm thành tích:
    6
    Rất hữu ích. Mình chưa thử cách gzip cho website bởi vậy website mình luôn trong tình trạng chậm mình tưởng do host hay mạng. Đã làm và tốc độ website nhanh hơn hẳn. Cảm ơn bạn nhiều nhé.
     
  11. rainy_cntt

    rainy_cntt Lính mới

    Tham gia ngày:
    4/11/16
    Bài viết:
    2
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Nơi ở:
    Hồ chí minh
    cam on thot da chia se, em dang tim hieu ve wp
     
  12. Đèn Nhất Nam

    Đèn Nhất Nam Lính mới

    Tham gia ngày:
    17/1/17
    Bài viết:
    24
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nữ
    Nơi ở:
    Hà Nội
    mình muốn mở 1 topic để hỏi lỗi khi cài plugin wp ntn các bạn ơi
     
  13. vinhkrongpak

    vinhkrongpak Đang làm quen

    Tham gia ngày:
    26/6/14
    Bài viết:
    77
    Đã được thích:
    2
    Điểm thành tích:
    8
    Khuyên 1 câu thôi , wp chỉ thích hợp cho site tin tức đơn giản nhẹ dễ dùng , còn muốn cao siêu hơn về quản lý sản phẩm này nọ , thì wp thật sự quá kém , data ko tối ưu dc 1 site tầm 1000 sản phẩm thì thấy tốc độ load như thế nào , với lại cơ chế hoạt động của nó ko oke , vd 1 bài viết đăng xong xóa đi , thì data vẫn lưu trữ lại dẫn đến 2 table wp-option và wp-post ngày càng nặng quá trời tệp rác , cái recore thì ko dc phân chia mà dồn lại 1 đống
     
    Đèn Nhất Nam thích bài này.
  14. Đèn Nhất Nam

    Đèn Nhất Nam Lính mới

    Tham gia ngày:
    17/1/17
    Bài viết:
    24
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nữ
    Nơi ở:
    Hà Nội
    công nhận là mệt với ông wp này quá
    mình cái đang cái theme này https://themeforest.net/item/techstore-electronics-ajax-woocommerce-theme/18596697
    cài xong bình thường
    bước thứ 2 cài plugin :
    • Lee Framework – Add the some theme featured
    • WooCommerce - WordPress eCommerce plugin (Required)
    • WPBakery Visual Composer – Used for page builder
    • Contact Form 7 - Used for contact form and newsletter signup (Optional)
    • Regenerate Thumbnails - Use to resize product images to recommended sizes. (Optional)
    • Taxonomy Metadata - Used to create custom fields in settings for Product categories. (Optional)
    • Unlimited Sidebars Woosidebars - Create unlimted sidebars for pages and footers (Optional)
    • YITH WooCommerce Wishlist - Adds wish list functionalty to category grid and product pages(Optional)
    • WP Instagram Widget: A WordPress widget for showing your latest Instagram photos
    sau khi active mấy cái này là đơ luôn web như này các bác ạ : http://dennhatnam.com/nhat/
    Trong file error-log nó ntn:
     
  15. dkitbg

    dkitbg Lính mới

    Tham gia ngày:
    8/4/17
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Nơi ở:
    Bac Giang
    Thực ra nhiều người làm wordpress nhiều đôi khi lại không để ý hết những vấn đề này. Đôi khi làm sao cho web chạy ổn là được. Kinh nghiệm này rất có ích để tăng tốc độ cho Seo
     
  16. phamhuan269

    phamhuan269 Đang làm quen

    Tham gia ngày:
    12/3/14
    Bài viết:
    31
    Đã được thích:
    0
    Điểm thành tích:
    6
    mình thấy wp chỉ thích hợp viết blog thôi hoặc vừa mới khởi nghiệp kinh doanh mà cần web quảng bá sản phẩm thì dùng tạm cũng được. còn về lâu dài thì tốt nhất không nên dùng.
     
  17. lmahanoi

    lmahanoi Lính mới

    Tham gia ngày:
    17/6/16
    Bài viết:
    6
    Đã được thích:
    0
    Điểm thành tích:
    1
    Ý kiến tham khảo và đóng góp: Hiện trong thời điểm này nhiều công ty dựa trên nền tảng của wordpress để phát triển Themes, thực tế xây dựng website có giao diện cũng khá thân thiện, tính năng tối ưu khá tốt, giá thành lại không đắt nhưng chắc chắn tại việt nam nhiều công ty hay cá nhân đang phát triển website bằng các themes wordpress gặp khó khăn trong việc đáp ứng được những tính năng thực tế mà web khách hàng mong muốn. Theo mình website bằng worspress chỉ đáp ứng cho các công ty bán lẻ, không cần tính bảo mật cao, nếu các công ty lớn thì nên dùng bằng Asp.net hoặc PHP sẽ chất lượng hơn. Cảm ơn nội dung bài viết của bạn, bài viết của bạn giúp mình có thêm kiến thức về website worpress.
     
  18. linevnpt123

    linevnpt123 Lính mới

    Tham gia ngày:
    17/10/17
    Bài viết:
    6
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nữ
    Nơi ở:
    ha noi
    mình cũng đang nghiên cứu thêm về mảng wordpress đây nhưng thấy seo không hiệu quả mấy
     
  19. Tùng Min

    Tùng Min Lính mới

    Tham gia ngày:
    8/11/18
    Bài viết:
    1
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Nơi ở:
    Hà Tĩnh
    Bài viết hữu ích, thanks thím
     
Đang tải...

Chia sẻ trang này