• Skip to main content

MrHói's Blog

The simple is the best

You are here: Home / Archives for Lập trình / Wordpress

Wordpress

Thay đổi tên miền cho website chạy trên nền tảng WordPress

February 20, 2012 by mrhoi Leave a Comment

Hôm nay tôi xin hướng dẫn một vài bước nhỏ, dễ tiến hành, mất ít thời gian khi bạn muốn chuyển domain cho blog, hay website của mình chạy trên nền tảng WordPress. Bạn cũng có thể sử dụng kiến thức này cho các ứng dụng tương tự như WordPress.

Điều quan trọng nhất của việc này đó là cần chuyển đổi tất cả các liên kết có trong Dữ liệu của bạn qua domain mới, nếu dữ liệu bạn càng lớn, cách tôi hướng dẫn bạn sẽ giúp bạn tiết kiệm thời gian hơn, nhờ sử dụng những chương trình có sẵn trên máy chủ, và tận dụng tối đa tài nguyên máy chủ Unix, thay vì phải download / upload và chỉ sửa bằng Editor trên máy cá nhân của bạn. Tất nhiên để điểu khiển Server Unix từ xa bạn cần được cấp quyền SSH, nếu chưa có bạn có thể yêu cậu đơn vị cung cấp Hosting / Server cấp cho bạn.

Bước 1: Sao lưu lại database bằng lệnh mysqldump, cú phá như sau

[sourcecode]mysqldump -uusername -ppassword database > database.sql[/sourcecode]

Bước 2: Thay đổi các liên kết từ domain cũ qua domain mới bằng lệnh sed

[sourcecode]sed ‘s/old_domain/new_domain/g’ database.sql > new_database.sql[/sourcecode]

Bước 3: Khôi phục lại database với phiên bản đã thay đổi domain bằng lệnh mysql

[sourcecode]mysql -uusername -ppassword database

Filed Under: Lập trình, Wordpress Tagged With: backup database, restore database, SEO Redirect with htaccess, Server Unix, sourcecode

Thay đổi favicon mặc định của Genesis

February 16, 2012 by mrhoi 2 Comments

Trước khi thực hiện việc này, tôi khuyên bạn nên tạo một child theme từ Genesis, tất nhiên để việc thay hook vào Genesis một cách rõ ràng hơn, chú ý khi tạo child theme, hãy tạo thêm tệp functions.php để chứa các hàm php hook vào Genesis nhé.

Để thay đổi Favicon cho Website hoặc Blog của mình, hãy mở file functions.php để thêm vào dòng lệnh sau

add_filter(‘genesis_favicon_url’, ‘custom_favicon_url’);

function custom_favicon_url() {

$favicon = “http://yourdomain.com/favicon.ico”;

return $favicon;

}

Lệnh add_filter sẽ giúp bạn sửa thông tin của đường dẫn của favicon mặc định của Genesis thành dường dẫn của bạn.

Tất nhiên để, thuận tiện vào sử dụng lại, hàm trên, cho các site khác nhau, bạn hãy tạo một favicon.ico tại thư mục gốc của WordPress, sau đó thay vì chèn dòng lệnh trên có thể sử dụng dòng lệnh sau

add_filter(‘genesis_favicon_url’, ‘custom_favicon_url’);

function custom_favicon_url() {

$favicon = site_url(“favicon.ico”);

return $favicon;

}

Lệnh site_url sẽ giúp bạn tạo đường dẫn tuyệt đối với các thiết lập trong wordpress của bạn, sẽ không cần thay đổi nhiều khi chuyển qua những dự án khác nhau. Một lựa chọn khác, khi bạn muốn favicon của mình thay đổi dựa theo template đang được sử dụng

add_filter(‘genesis_favicon_url’, ‘custom_favicon_url’);

function custom_favicon_url() {

$favicon = dirname( get_bloginfo(‘stylesheet_url’) ) . “/favicon.ico”;

return $favicon;

}

Chúc bạn thành công.

Filed Under: Genesis, Wordpress Tagged With: 'custom_favicon_url', 'genesis_favicon_url', favicon, favicon.ico, function custom_favicon_url, Genesis Tr, Genesis Trước, wordpress

Làm việc với JW Player Skin

December 19, 2011 by mrhoi 17 Comments

Một vài ngày trước một người bạn hỏi làm sao JW Player của theoyeucau lại có hiển thị khác như vậy? Tất nhiên rồi, JW Player được viết lại Skin dành riêng cho TYC. Nghe nói chữ viết lại ghê quá, chỉ đơn giản là sửa lại skin sẵn có để phù hợp với cách hiển thị của TYC thôi.

Tất nhiên khi tôi bắt đầu xây dựng phiên bản thứ 11 của TYC, tôi đã thấm và tất nhiên sau khi phát triển hoàn thiện các module của TYC tôi cũng sẽ tính toán và viết thành Plugin hoàn thiện để chia sẻ với cộng đồng WordPress, nhất là cộng đồng người Việt.

Đây là Skin JW Player tôi đã sử dụng cho TYC, xin chia sẻ cùng những người cần và quan tâm. Cách sử dụng Skin của JW Player các bạn có thể tham khảo ở trang web chính thức, tôi chỉ xin giới thiệu cách đơn giản để sử dụng bằng mã javascript dưới đây

jwplayer(‘mediaplayer’).setup({

‘flashplayer’: ‘player.swf’,

‘id’: ‘playerID’,

‘width’: ‘480’,

‘height’: ‘270’,

‘file’: ‘/videos/bunny.mp4’,

‘image’: ‘/thumbs/bunny.jpg’,

‘skin’: ‘/skins/stormtrooper/stormtrooper.zip’

});

]]>

Tôi nghĩ việc tạo cho mình một Skin theo hướng dẫn cũng không quá khó, cần các bạn một chút kiên nhẫn, nghiên cứu và sáng tạo. Hy vọng các bạn sẽ có thể tạo được skin player cho riêng mình.

Filed Under: Hướng dẫn, Wordpress Tagged With: 'mediaplayer', flash player, JW Player, JW Player Skin, JW Player Skin Một, Skin JW Player, theoyeucau

WordPress database error MySQL server has gone away for query

August 26, 2011 by mrhoi Leave a Comment

Sẽ có nhiều người gặp vấn đề này đây, hướng dẫn thì có nhiều các bạn có thể tham khảo ở giải pháp trên The Social Media Guide, nhưng tôi cũng xin hướng dẫn qua để các bạn xử lý phù hợp cho từng phiên bản của WordPress.

Về nguyên lý chung chúng ta chỉ cần tăng thời gian Session Timeout của MySQL lên để tránh xảy ra lỗi trên bằng dòng lệnh:

$this->query(“set session wait_timeout=300″);

Các hướng dẫn thường thiết lập thông số này là 600 giây, nhưng theo tôi, nếu bạn đang chạy share hosting và giới hạn số lượng process xử lý, bạn nên để con số này thấp xuống để hệ thống của bạn ít bị ảnh hưởng. Thiết lập mặc định của MySQL là 10 giây.

Nhưng tùy với phiên bản của WordPress mà cách đặt dòng lệnh trên khác nhau, có phiên bản đặt trong Constructor khi tạo Object, có phiên bản đặt trong db_connect, tốt nhất chúng ta chỉ cần tìm đoạn thông báo lỗi của không kết nối được với Cơ sở dữ liệu để chèn thêm vào dòng lệnh trên.

Tìm kiếm cụm “!$this->dbh” trong file /wp-includes/wp-db.php, trong một số trường hợp tìm được sẽ có dạng

if ( !$this->dbh ) {

$this->bail( sprintf( /*WP_I18N_DB_CONN_ERROR*/”

Error establishing a database connection

This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at %s. This could mean your host’s database server is down.

  • Are you sure you have the correct username and password?
  • Are you sure that you have typed the correct hostname?
  • Are you sure that the database server is running?

If you’re unsure what these terms mean you should probably contact your host. If you still need help you can always visit the WordPress Support Forums.

“/*/WP_I18N_DB_CONN_ERROR*/, $this->dbhost ), ‘db_connect_fail’ );

return;

}

$this->query(“set session wait_timeout=300”);

Thêm dòng lệnh trên vào sau dòng lệnh if trên là xong, giờ chỉ cần theo dõi xem hệ thống con phun ra các lỗi liên quan tới vấn đề này không, nếu còn, bạn nên tăng thời gian đợi lên cho phù hợp với hệ thống của bạn.

Filed Under: Lập trình, Wordpress Tagged With: chỉ cần, CONN, database server, dPress Support Forums, ERROR, Error establishing a database connection, mysql, Session Timeout, set session wait_timeout=, The Social Media Guide, WordPress Support Forums

Khắc phục tình trạng không hiển thị phân trang trên WordPress với Hostgator

August 26, 2011 by mrhoi 3 Comments

Nếu bạn là người đã sử dụng wordpress trên hostgator, cũng ngịch ngầm và chỉnh sửa các thông số của PHP, thì rất có thể sẽ gặp tình trạng giống như tôi. Một ngày đẹp trời hệ thống vẫn chạy bình thường nhưng không thể tìm thấy các trang tiếp theo để click. Nguyên nhân ở đâu?

Sau một buổi tối ngồi hỳ hục tìm hiểu chỉnh sửa, tôi đã hiển thị được số trang cần theo một cách nông dân là debug từng dòng lệnh. Nhưng để rồi có một kiến thức mới hay ho không kém. Cái tội là WordPress sử dụng hàm FOUND_ROWS() để tính số lượng bản ghi nếu không có giới hạn LIMIT. Nhược điểm chính của việc này là dòng lệnh trên phải được xử lý ngay sau khi câu SELECT được thực hiện.

Tại sao hệ thống lại chạy không chỉnh xác khi tôi thay đổi config của PHP, lý do là tôi muốn kiểm tra hệ thống sẽ hoạt động ra sao khi vận hành, việc cần biết đó là nó truy vấn tới database ra sao. Tôi đã chỉnh sửa một số thiết lập của PHP trong đó có mysql.allow_persistent, điều này đã làm cho câu lệnh FOUND_ROWS() luôn trả về giá trị là 1, vì đơn giản sau khi thực hiện lệnh hệ thông sẽ truy vấn thêm log của MySQL ghi ra log file, tất nhiên những truy vấn này đều có 1 kết quả trả về.

Tiếp đó hệ thống của WordPress luôn tín sai và duy nhất chỉ có một trang. Cả buổi tối ngày hôm đó tôi loay hoay và cũng chỉnh sửa được bằng cách viết 1 hàm hook vào wordpress để thay đổi cách thức tính số trang, không sử dụng FOUND_ROWS() nữa. Các bạn gặp trường hợp trên tạm thời muốn chạy có thể sử dụng hàm này:

add_filter(‘found_posts_query’, ‘wpspider_fix_max_num_pages’);

function wpspider_fix_max_num_pages ($query) {

global $wp_query;

if ($query == ” || $query != ‘SELECT FOUND_ROWS()’) return $query;

$query = $wp_query->request;

$query = preg_replace(‘/SELECT\s.+\sFROM/’, ‘SELECT 1 as id FROM’, $query);

$query = preg_replace(‘/LIMIT\s.+$/’, ”, $query);

$query = preg_replace(‘/ORDER\s+BY\s.+$/’, ”, $query);

$query = sprintf(‘SELECT SUM(id) FROM (%1$s) as `count` ‘, $query);

return $query;

}

Hơi ngu ngốc một chút vì thỉnh thoảng hệ thống có phun ra một số log error query vì câu lệnh SQL không chính xác, nhưng sẽ là tạm đủ khi bạn vừa muốn debug hệ thống vừa muốn hệ thống hoạt động bình thường.

Filed Under: Hệ thống, Lập trình, Wordpress Tagged With: 'found_posts_query', 'SELECT 1 as id FROM', 'wpspider_fix_max_num_pages', FOUND, FROM, Hostgator Nếu, LIMIT, ORDER, ROWS, SELECT, SELECT FOUND, SELECT FOUND_ROWS, SELECT SUM, wordpress

Sự khởi đầu của những ước mơ

June 10, 2011 by mrhoi Leave a Comment

Ước mơ của tôi mới thực sự chỉ mới bắt đầu? Trong tuần vừa qua, tôi đã dành phần lớn thời gian của mình dành cho ước mơ của chính tôi, điều mà tôi luôn tin tưởng và tự hào. Nơi mà tôi có thể gặp gỡ những ước mơ khác, những con người đầy lòng yêu thương với cuộc sống này.

Có lẽ khi bạn làm điều gì đó vì mọi người, điều này không những không đem lại phiền phức cho bạn, nó còn đem lại cho bạn những sự bất ngờ khác về tình cảm của những người bạn ảo mà thật dành cho mình. Khi đến với nhau ở tâm hồn, đôi khi đơn giản chỉ là sự tin, với những người gặp lần đầu mà bạn không có chút ngần ngại, luôn tin tưởng không chút nghi ngờ, đó là điều tốt đẹp nhất.

Quyết dịnh sử dụng nền tảng cho Ước mơ của mình đã chiếm khá nhiều thời gian của tôi, nhưng cuối cùng để thực hiện nhanh chóng ước mơ này, tôi đã chọn WordPress, một phần mềm Publish thân thiện và tốt nhất mà tôi được biết. Khả năng tùy biết dường như lơn hơn mọi kỳ vọng của tôi. Cộng đồng phát triển quá nhiều và sẽ giúp tôi đẩy nhanh tính năng của sản phẩm hơn. Giờ đây tôi chỉ phải nghĩ giải pháp để kết hợp các tính năng và ý tưởng của tôi vào phần mềm tuyệt với này.

Một lý do khác để tôi chọn sản phẩm này đó là sự kiểm định chất lượng thông qua hệ thống Blog nổi tiếng, đã có hàng trăm ngàn Bloger sử dụng nền tàng miễn phí này cho sự kiếm Blogging của mình, tôi cũng đang làm việc đấy. Thú thật chưa bao giờ tôi cảm thấy thỏa mãn với một phần mềm như thế này.

Hi vọng với sự mền dẻo và tài nguyên vô tận của những ý tưởng, tôi sẽ sớm hoàn thành giấc mơ của mình.

Filed Under: Wordpress Tagged With: phần mềm

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2

Copyright © 2026 · Revolution Pro on Genesis Framework · WordPress · Log in