25+ Tips Vô cùng hữu ích cho file function.php

Trong thư mục theme WordPress của bạn, có đặt các file theme mạnh mẽ nhất được biết đến như functions.php . Như tên cho thấy, tập tin này cho biết thêm function duy nhất để cài đặt WordPress của bạn. Tập tin này hoạt động giống như một plugin trong themes của bạn. Vì vậy, bạn có thể sửa đổi / ghi đè lên các tính năng cốt lõi WordPress mà không cần chỉnh sửa bất kỳ tập tin lõi. Nếu sử dụng đúng cách, tập tin này có thể làm điều kỳ diệu cho trang web WordPress của bạn. Nó cũng tăng tốc độ phát triển bởi vì bạn có thể có tất cả các mã tại một nơi. Trong bài viết này, chúng tôi sẽ chia sẻ một số thủ đoạn khó nhất và mong muốn nhất cho tập tin functions.php WordPress.

Lưu ý: Bài viết này được nhắm mục tiêu cho các nhà phát triển WordPress.Bạn có thể cần phải có một số kiến thức PHP cho một số hacks.

Moments Duh: Tất cả các mã trong bài viết này sẽ được thêm vào các file theme functions.php.

1. Thêm Google Analytics

Đơn giản chỉ cần dán code dưới đây và chèn Google Analytics bạn mà nó nói dán Google Analytics của bạn. Bạn có thể dán code một lần trong tập tin functions.php của bạn và không bao giờ phải lo lắng về nó một lần nữa.Chúng tôi là thêm một hành động để các wp_footer, do đó, nó sẽ tự động chèn mã adsense bất cứ nơi nào trên tất cả các trang bạn có chuỗi wp_footer.

[php]<?php
add_action(‘wp_footer’, ‘add_googleanalytics’);
function add_googleanalytics() { ?>
// Paste your Google Analytics code from Step 6 here
<?php } ?>[/php]

2. Thêm một Favicon cho Blog của bạn

Mỗi blog xứng đáng để có bản sắc riêng của mình. Bạn có thể thêm danh tính này bằng cách thêm code favicon trong file header.php của bạn, hoặc bạn có thể làm cho nó dễ dàng hơn cho chính mình bằng cách thêm đoạn code sau vào file functions.php của bạn.

[php]// add a favicon to your
function blog_favicon() {
echo ‘<link rel="Shortcut Icon" type="image/x-icon" href="’.get_bloginfo(‘wpurl’).’http://cdn.wpazweber.com/favicon.ico" />’;
}
add_action(‘wp_head’, ‘blog_favicon’);[/php]

Bây giờ bất cứ khi nào bạn đang phát triển chủ đề, chỉ cần tải lên các tập tin .ico trong thư mục gốc nơi blog được tải lên. Bạn cũng có thể sửa đổi tập tin đích nếu bạn muốn. Thường thì các nhà phát triển chủ đề quên thay đổi URL của favicon. Điều này có thể loại bỏ lo lắng khác.

Nguồn: Đào vào WordPress

3. Remove WordPress Version Number

Bạn nên luôn luôn khuyến khích khách hàng của bạn để nâng cấp lên phiên bản mới nhất, do đó bạn không có vấn đề này. Nhưng nếu bạn đang làm việc với một khách hàng không muốn nâng cấp, sau đó điều quan trọng là bạn loại bỏ số phiên bản WordPress của bạn từ tiêu đề của bạn WordPress, RSS feeds, và tất cả các địa điểm khác. Để làm điều này, thêm đoạn code sau:

[php]function wpbeginner_remove_version() {
return ”;
}
add_filter(‘the_generator’, ‘wpazweber_remove_version’);[/php]

4. Thêm một Logo Bảng điều khiển chỉnh

Khi tạo theme’s cho một khách hàng, bạn có thể sử dụng như là một trong những đặc quyền cho các theme’s. Tất cả bạn phải làm là dán đoạn code sau đây:

[php]//hook the administrative header output
add_action(‘admin_head’, ‘my_custom_logo’);

function my_custom_logo() {
echo ‘
<style type="text/css">
#header-logo { background-image: url(‘.get_bloginfo(‘template_directory’).’/images/custom-logo.gif) !important; }
</style>
‘;
}[/php]

Ảnh chụp màn hình:

Tuỳ chỉnh Bảng điều khiển Logo trong WordPress

 

5. Thay đổi Footer trong WordPress Admin Panel

Bạn có thể thay đổi footer  của bạn miễn phí hay Custom WordPress themes  bằng cách thêm các liên kết cần thiết. Đơn giản chỉ cần dán đoạn code sau:

[php]function remove_footer_admin () {
echo ‘Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | Designed by <a href="http://www.uzzz.net" target="_blank">Uzzz Productions</a> | WordPress Tutorials: <a href="http://www.wpazweber.com" target="_blank">WPazweber</a></p>’;
}

add_filter(‘admin_footer_text’, ‘remove_footer_admin’);[/php]

Ảnh chụp màn hình:

Tuỳ chỉnh WordPress quản Footer

 

6. Thêm Custom Dashboard Widget trong WordPress

Bạn có lẽ đã nhìn thấy Widget mà rất nhiều plugins và theme’s thêm vào trong bảng điều khiển WordPress. Là một nhà phát triển theme’s, bạn có thể thêm một chính mình bằng cách dán các code sau đây:

[php]add_action(‘wp_dashboard_setup’, ‘my_custom_dashboard_widgets’);

function my_custom_dashboard_widgets() {
global $wp_meta_boxes;

wp_add_dashboard_widget(‘custom_help_widget’, ‘Theme Support’, ‘custom_dashboard_help’);
}

function custom_dashboard_help() {
echo ‘<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:[email protected]">here</a>. For WordPress Tutorials visit: <a href="http://www.wpbeginner.com" target="_blank">WPBeginner</a></p>’;
}[/php]

Hãy nhớ để thay đổi email và thêm bất kỳ thông tin khác mà bạn muốn. Kết quả sẽ giống như thế này:

Bảng điều khiển Widgets tùy chỉnh trong WordPress

 

7. Thay đổi mặc định Gravatar trong WordPress

Bạn đã thấy những bí ẩn người đàn ông đại diện mặc định trên blog? Tại sao lãng phí cơ hội xây dựng thương hiệu cho khách hàng của bạn? Bạn có thể thay thế người đàn ông bí ẩn với một custom branded gravatar cho khách hàng của bạn để cung cấp cho trang web của họ một liên lạc duy nhất. Tất cả bạn phải làm là dán các code sau đây:

[php]add_filter( ‘avatar_defaults’, ‘newgravatar’ );

function newgravatar ($avatar_defaults) {
$myavatar = get_bloginfo(‘template_directory’) . ‘/images/gravatar.gif’;
$avatar_defaults[$myavatar] = "WPAzweber";
return $avatar_defaults;
}[/php]

Đừng quên để tải lên một hình ảnh tùy chỉnh vào thư mục hình ảnh của theme’s của bạn. Cũng thay đổi tên của gravatar để thương hiệu của họ. Khi bạn tải lên các hình ảnh và các function, sau đó truy cập:WP-Admin » Settings » Discussion

Tuỳ chỉnh Gravatar trong WordPress

gravatar của bạn sẽ hiển thị như là một trong những lựa chọn.

 

8. Bản quyền Copyright Date trong WordPress Footer

Thường thì bạn sẽ đi qua các trang web với các ngày bản quyền lỗi thời. Một số trang web cho thấy năm nay là ngày bản quyền của họ. Cả hai đều khó chịu, và nó cho thấy các nhà thiết kế trang web đã lười biếng. Để cung cấp cho người dùng của bạn một thông tin nền chút về trang web của bạn, bạn nên hiển thị ngày tháng bản quyền như vậy: © 2006 – 2010. Chúng tôi có thể làm điều này bằng cách chỉ đơn giản là dán đoạn code  sau:

[php]function comicpress_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = ‘publish’
");
$output = ”;
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= ‘-‘ . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}[/php]

Một khi bạn thêm function này, sau đó mởfile footer.php  và thêm code sau đây bất cứ nơi nào bạn muốn hiển thị dynamic copyright date:

 

[php]<?php </code><code class="functions">echo</code> <code class="plain">comicpress_copyright(); ?>[/php]

 

Function này sẽ cho ngày của bài viết đầu tiên của bạn, và ngày của bài viết cuối cùng của bạn. Sau đó nó Echos những năm bất cứ nơi nào bạn gọi hàm.

 

Tên 9. Rewrite Khách của tác giả với Custom Fields

Bây giờ nhiều blog được xuất bản các tác giả khác cũng được biết đến là tác giả của khách. Rất nhiều những tác giả của khách là một trong những nhà văn thời gian. Trong kịch bản này, nó không phải là khả thi để tạo tài khoản người dùng cho họ. Thủ thuật này sẽ cho phép bạn thay thế các tên tác giả để tác giả khách với việc sử dụng một lĩnh vực tùy chỉnh. Đơn giản chỉ cần dán mã dưới đây:

[php]add_filter( ‘the_author’, ‘guest_author_name’ );
add_filter( ‘get_the_author_display_name’, ‘guest_author_name’ );

function guest_author_name( $name ) {
global $post;

$author = get_post_meta( $post->ID, ‘guest-author’, true );

if ( $author )
$name = $author;

return $name;
}[/php]

Bây giờ mỗi khi có một khách đăng bài, chỉ cần thêm các custom filed của khách giả .

Tuỳ chỉnh Fields - Khách Tác giả

:

10. Kích hoạt Post Thumbnails trong WordPress

Bắt đầu từ WordPress 2.9, bạn có thể sử dụng mặc định tích hợp tính năng Thumbnails trong theme’s của bạn. Để làm điều này, bạn phải kích hoạt các bài hình thu nhỏ bên trong tập tin functions.php của bạn. Dán code dưới đây:

 

[php]add_theme_support( </code><code class="string">’post-thumbnails’</code> <code class="plain">);[/php]

 

Sau đó chỉ cần đặt đoạn code sau trong vòng lặp của bạn nơi bạn muốn hiển thị hình thu nhỏ

[php]<?php the_post_thumbnail(); ?>[/php]

Bạn có thể làm theo các Tutorial Video ở đây:

Nguồn: Làm thế nào để Thêm bài Thumbnails trong WordPress

11. Tuỳ chỉnh Navigation Menus trong WordPress 3.0

WordPress 3.0 đi kèm với một hệ thống quản lý đơn awesome mà các nhà phát triển chủ đề có thể tận dụng lợi thế của họ. Nếu bạn muốn cung cấp cho người dùng của bạn tùy chọn để sử dụng tính năng cốt lõi này, sau đó thêm các function sau đây:

 

[php]add_theme_support( </code><code class="string">’menus’</code> <code class="plain">);[/php]

 

Sau đó, bạn có thể gọi chức năng này bất cứ nơi nào bạn muốn trong file template của bạn bằng cách dán code dưới đây:

 

[php]<?php wp_nav_menu( </code><code class="keyword">array</code><code class="plain">( </code><code class="string">’sort_column’</code> <code class="plain">=> </code><code class="string">’menu_order’</code><code class="plain">,</code><code class="string">’container_class’</code> <code class="plain">=> </code><code class="string">’menu-header’</code> <code class="plain">) ); ?>[/php]

 

12. Remove Default Author Profile Fields trong WordPress

Nếu bạn đang tạo một trang web mà khách hàng của bạn sẽ được bổ sung thêm thông tin người dùng, sau đó làm cho giao diện dễ dàng hơn cho họ.Một trong những cách bạn có thể làm điều này là bằng cách loại bỏ các fieldd không mong muốn như AIM, Yahoo IM, Jabber, vv Đơn giản chỉ cần dán đoạn code sau để loại bỏ các field :

[php]add_filter(‘user_contactmethods’,’hide_profile_fields’,10,1);

function hide_profile_fields( $contactmethods ) {
unset($contactmethods[‘aim’]);
unset($contactmethods[‘jabber’]);
unset($contactmethods[‘yim’]);
return $contactmethods;
}[/php]

13. Add Fields Tác giả hồ sơ

Nếu bạn muốn tạo một trang tác giả linh hoạt hơn, sau đó bạn sẽ cần phải thêm các trường bổ sung cho các tiểu sử tác giả. Đoạn code dưới đây sẽ cho bạn thấy làm thế nào để bổ sung thêm các twitter và facebook lĩnh vực, nhưng bạn có thể sử dụng nó để thêm bất kỳ lĩnh vực khác mà bạn thích.

[php]function my_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods[‘twitter’] = ‘Twitter’;
//add Facebook
$contactmethods[‘facebook’] = ‘Facebook’;

return $contactmethods;
}
add_filter(‘user_contactmethods’,’my_new_contactmethods’,10,1);[/php]

Các function trên sẽ thêm một cái gì đó như thế này:

Tuỳ chỉnh Fields Tác giả hồ sơ

Sau đó bạn có thể gọi các trường trong mẫu author.php của bạn bằng cách thêm code sau đây:

[php]<?php </code><code class="functions">echo</code> <code class="variable">$curauth</code><code class="plain">->twitter; ?>[/php]

 

** Hướng dẫn này sẽ chỉ làm việc với các phiên bản 2.9+

Nguồn: Yoast

14. Đăng ký Sidebar Widgets

Đây là một trong những người sử dụng nhất và nhiều nhà phát triển đã biết về điều này. Nhưng nó xứng đáng được vào danh sách này cho những ai không biết. Dán đoạn code sau vào file functions.php của bạn:

[php]<?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(‘MiddleSidebar’) ) : ?>
<!–Default sidebar info goes here–>

<?php endif; ?>[/php]

Làm tương tự cho các sidebars khác. Lưu ý sidebars không phải ở file bạnsidebar.php .

 

15. Thao tác RSS Footer của bạn

Bạn đã thấy các blog có thêm quảng cáo của họ trong RSS Feeds của họ dưới mỗi bài. Bạn có thể thực hiện điều đó một cách dễ dàng với một chức năng đơn giản. Dán các code sau đây:

[php]function wpazweber_postrss($content) {
if(is_feed()){
$content = ‘This post was written by Syed Balkhi ‘.$content.’Check out WPAzweber’;
}
return $content;
}
add_filter(‘the_excerpt_rss’, ‘wpazweber_postrss’);
add_filter(‘the_content’, ‘wpazweber_postrss’);[/php]

Chúng tôi đang kêu gọi một funciton wpazweber_postrss cần thêm vào mỗi bài viết một nội dung trước khi đăng bài nói rằng bài viết này đã được viết bởi Syed Balkhi và sau khi nội dung Kiểm tra WPAzweber. Nhưng chúng ta thêm các function nếu (is_feed), vì vậy nó sẽ chỉ được hiển thị trong RSS Feeds.

16. Thêm bài Thumbnails để RSS Feeds của bạn

Tính năng bài thu nhỏ thường chỉ được hiển thị bên trong thiết kế trang web của bạn, nhưng bạn có thể mở rộng chức năng RSS feed của bạn với một chức năng đơn giản. Dán code dưới đây:

[php]function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = ‘<p>’ . get_the_post_thumbnail($post->ID) .
‘</p>’ . get_the_content();
}
return $content;
}
add_filter(‘the_excerpt_rss’, ‘rss_post_thumbnail’);
add_filter(‘the_content_feed’, ‘rss_post_thumbnail’);[/php]

17. Kích hoạt Comment Threaded trong WordPress

Threaded comments là một trong những tính năng tốt nhất WordPress có. Bạn có thể kích hoạt các Threaded comments bằng cách truy cập các thiết lập wp-admin settings > discussion area,, nhưng bạn vẫn cần thêm JavaScript vào tập tin tiêu đề của bạn để làm cho bình luận dễ dàng hơn. Khi phát triển chủ đề, bạn muốn nó được càng sạch càng tốt, nên ngừng làm lộn xộn file header.php của bạn. Đơn giản chỉ cần thêm các function sau đây:

[php]// enable threaded comments
function enable_threaded_comments(){
if (!is_admin()) {
if (is_singular() AND comments_open() AND (get_option(‘thread_comments’) == 1))
wp_enqueue_script(‘comment-reply’);
}
}
add_action(‘get_header’, ‘enable_threaded_comments’);[/php]

Thông báo lỗi 18. Remove trên Trang Đăng Nhập

Khi bạn nhập sai mật khẩu hoặc tên người dùng không hợp lệ, bạn nhận được một thông báo lỗi trong các trang đăng nhập. Vì vậy, nếu một hacker được một điều đúng đắn, thông báo lỗi sẽ giúp họ xác định đó. Bạn có thể dừng lại giúp các hacker bằng cách thêm các function sau đây:

[php]add_filter(</code><code class="string">’login_errors’</code><code class="plain">,create_function(</code><code class="string">’$a’</code><code class="plain">, </code><code class="string">"return null;"</code><code class="plain">));[/php]

 

Bây giờ khi có một lỗi, bạn sẽ thấy một ô trống:

Di chuyển Thông báo lỗi trên Trang Đăng Nhập

Không nên dùng cho các trang web với nhiều tác giả.

19. Vô hiệu hóa Search trong WordPress

Khi sử dụng WordPress như một CMS, đôi khi các tính năng tìm kiếm trở nên không cần thiết. Bạn có thể loại bỏ các thanh tìm kiếm từ thiết kế, nhưng function vẫn còn. Bạn có thể thêm các function sau đây và vô hiệu hóa chức năng tìm kiếm:

[php]function fb_filter_query( $query, $error = true ) {

if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;

// to error
if ( $error == true )
$query->is_404 = true;
}
}

add_action( ‘parse_query’, ‘fb_filter_query’ );
add_filter( ‘get_search_form’, create_function( ‘$a’, "return null;" ) );[/php]

20. Kích hoạt Adsense SHORTCODE

Adsense là một trong các yếu tố quảng cáo phổ biến nhất được sử dụng bởi các blogger. nhà thiết kế chủ đề có thể đặt hộp adsense trong một chỗ mà hạn chế người sử dụng. Nếu bạn muốn cung cấp cho khách hàng của bạn khả năng thêm các adsense bất cứ nơi nào, sau đó bạn có thể tạo một shortcode cho adsense sử dụng chức năng này:

[php]function showads() {
return ‘<div id="adsense"><script type="text/javascript"><!–
google_ad_client = "pub-XXXXXXXXXXXXXX";
google_ad_slot = "4668915978";
google_ad_width = 468;
google_ad_height = 60;
//–>
</script>

<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>’;
}

add_shortcode(‘adsense’, ‘showads’);[/php]

21. Thay đổi của bạn Liên kết nguồn cấp dữ liệu WordPress mà không có .htaccess

Nếu bạn thiết lập Feedburner cho blog của bạn, sau đó bạn nên chuyển hướng WordPress feed vào các liên kết  feedburner feed. Bằng cách này bạn sẽ không mất bất kỳ thuê bao. Người dùng thường làm điều đó với một plugin, nhưng bạn có thể làm điều đó cho khách hàng của bạn với function này:

[php]function custom_feed_link($output, $feed) {

$feed_url = ‘http://feeds.feedburner.com/wpbeginner’;

$feed_array = array(‘rss’ => $feed_url, ‘rss2’ => $feed_url, ‘atom’ => $feed_url, ‘rdf’ => $feed_url, ‘comments_rss2’ => ”);
$feed_array[$feed] = $feed_url;
$output = $feed_array[$feed];

return $output;
}

function other_feed_links($link) {

$link = ‘http://feeds.feedburner.com/wpbeginner’;
return $link;

}
//Add our functions to the specific filters
add_filter(‘feed_link’,’custom_feed_link’, 1, 2);
add_filter(‘category_feed_link’, ‘other_feed_links’);
add_filter(‘author_feed_link’, ‘other_feed_links’);
add_filter(‘tag_feed_link’,’other_feed_links’);
add_filter(‘search_feed_link’,’other_feed_links’);[/php]

22. Cho phép một Paypal góp SHORTCODE

Có lần khi bạn đang viết một bài, và bạn sẽ có được một cơ hội để thêm các liên kết tặng của bạn. function này làm cho nó dễ dàng cho bạn bằng cách cho phép một shortcode mà bạn có thể sử dụng trong bài viết của bạn tại bất kỳ thời điểm nào. Dán code dưới đây:

[php]function donate_shortcode( $atts ) {
extract(shortcode_atts(array(
‘text’ => ‘Make a donation’,
‘account’ => ‘REPLACE ME’,
‘for’ => ”,
), $atts));

global $post;

if (!$for) $for = str_replace(" "," ",$post->post_title);

return ‘<a class="donateLink" href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=’.$account.’&item_name=Donation for ‘.$for.’">’.$text.’</a>’;

}
add_shortcode(‘donate’, ‘donate_shortcode’);[/php]

Hãy chắc chắn rằng để thay đổi thông tin tài khoản và các văn bản nếu bạn muốn.

23. Kiểm soát Khi bài viết của bạn là có sẵn thông qua RSS

Tất cả các blogger làm lỗi mà chúng tôi bắt sau khi chúng tôi đăng bài viết .Đôi khi ngay cả trong vòng một hoặc hai phút tiếp theo. Đó là lý do tại sao nó là tốt nhất mà chúng ta trì hoãn bài viết của chúng tôi được xuất bản trên RSS 5-10 phút. Bạn có thể làm điều đó bằng cách thêm function này:

[php]function publish_later_on_feed($where) {
global $wpdb;

if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate(‘Y-m-d H:i:s’);

// value for wait; + device
$wait = ‘10′; // integer

// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = ‘MINUTE’; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

// add SQL-sytax to default $where
$where .= ” AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, ‘$now’) > $wait “;
}
return $where;
}

add_filter(‘posts_where’, ‘publish_later_on_feed’);[/php]

code này được bổ sung thêm một sự delay 10 phút trên bài viết của bạn được hiển thị trên RSS, bạn có thể thay đổi nó bằng cách thay đổi số 10 là số phút như bạn muốn.

24. Tùy chỉnh Trích thêm […]

Có một khó chịu […] thêm vào cuối của mỗi đoạn trích. Bạn có thể thay đổi điều này với bất cứ điều gì bạn thích với một function đơn giản:

[php]// custom excerpt ellipses for 2.9
function custom_excerpt_more($more) {
return ‘…’;
}
add_filter(‘excerpt_more’, ‘custom_excerpt_more’);

/* custom excerpt ellipses for 2.8-
function custom_excerpt_more($excerpt) {
return str_replace(‘[…]’, ‘…’, $excerpt);
}
add_filter(‘wp_trim_excerpt’, ‘custom_excerpt_more’);
*/[/php]

25. Tuỳ chỉnh Trích đoạn dài

Theo mặc định độ dài đoạn trích được giới hạn ở mức 55 từ. Nhiều nhà thiết kế chủ đề muốn có sự linh hoạt đó là lý do tại sao WordPress cho phép bạn tùy chỉnh độ dài đoạn trích với function này:

[php]function new_excerpt_length($length) {
return 100;
}
add_filter(‘excerpt_length’, ‘new_excerpt_length’);[/php]

Thay đổi 100 với chiều dài bạn muốn.

26. Hiển thị Comment Count chính xác nhất

Theo mặc định, WordPress đếm trackback, và ping như ý. Điều này thổi phồng số lượng comment trông thực sự tồi tệ nhất là khi bạn không hiển thị các trackback và ping. Để khắc phục tính thêm các function đây:

[php]add_filter(‘get_comments_number’, ‘comment_count’, 0);
function comment_count( $count ) {
if ( ! is_admin() ) {
global $id;
$comments_by_type = &separate_comments(get_comments(‘status=approve&post_id=’ . $id));
return count($comments_by_type[‘comment’]);
} else {
return $count;
}
}[/php]

27. Vô hiệu hoá RSS Feeds

Đối với các trang web WordPress tĩnh, bạn không cần phải có một tùy chọn RSS feed. Bạn có thể vô hiệu hóa các RSS feeds với function này nếu bạn muốn:

[php]function fb_disable_feed() {
wp_die( __(‘No feed available,please visit our <a href="’. get_bloginfo(‘url’) .’">homepage</a>!’) );
}

add_action(‘do_feed’, ‘fb_disable_feed’, 1);
add_action(‘do_feed_rdf’, ‘fb_disable_feed’, 1);
add_action(‘do_feed_rss’, ‘fb_disable_feed’, 1);
add_action(‘do_feed_rss2’, ‘fb_disable_feed’, 1);
add_action(‘do_feed_atom’, ‘fb_disable_feed’, 1);[/php]

28. Hiển thị Twitter theo Count và More

Có những công cụ hiển thị theo Twitter count, nhưng những người có giới hạn và không đẹp. Bạn có thể sử dụng functon này để tùy chỉnh cách theo twitter của bạn đếm xem trên blog của bạn. Đơn giản chỉ cần dán code dưới đây:

[php]function rarst_twitter_user( $username, $field, $display = false ) {
$interval = 3600;
$cache = get_option(‘rarst_twitter_user’);
$url = ‘http://api.twitter.com/1/users/show.json?screen_name=’.urlencode($username);

if ( false == $cache )
$cache = array();

// if first time request add placeholder and force update
if ( !isset( $cache[$username][$field] ) ) {
$cache[$username][$field] = NULL;
$cache[$username][‘lastcheck’] = 0;
}

// if outdated
if( $cache[$username][‘lastcheck’] < (time()-$interval) ) {

// holds decoded JSON data in memory
static $memorycache;

if ( isset($memorycache[$username]) ) {
$data = $memorycache[$username];
}
else {
$result = wp_remote_retrieve_body(wp_remote_request($url));
$data = json_decode( $result );
if ( is_object($data) )
$memorycache[$username] = $data;
}

if ( is_object($data) ) {
// update all fields, known to be requested
foreach ($cache[$username] as $key => $value)
if( isset($data->$key) )
$cache[$username][$key] = $data->$key;

$cache[$username][‘lastcheck’] = time();
}
else {
$cache[$username][‘lastcheck’] = time()+60;
}

update_option( ‘rarst_twitter_user’, $cache );
}

if ( false != $display )
echo $cache[$username][$field];
return $cache[$username][$field];
}[/php]

Sau đó đặt đoạn code sau, nơi bạn muốn hiển thị các số trong file theme’s của bạn:

[php]echo rarst_twitter_user(‘wpazweber’, ‘name’).’ has ‘.
rarst_twitter_user(‘wpazweber’, ‘followers_count’).’ followers after ‘.
rarst_twitter_user(‘wpazweber’, ‘statuses_count’).’ updates.’;[/php]

Đoạn mã trên sẽ hiển thị một cái gì đó như thế này:

WPAzweber có 6127 người theo sau 1390 cập nhật.

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 *

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.