Những sai lầm thường gặp khi đưa code vào web trên WordPres

Kiến thức hosting

WordPress cho phép người dùng có thể đưa code vào để chỉnh sửa các trang, điều đó giúp việc tuỳ biến trang web trở nên dễ dàng hơn. Tuy nhiên thì rất nhiều người thường xuyên gặp lỗi khi copy code rồi dán vào các file. Những lỗi này sẽ khiến website không hoạt động bình thường được thậm chí là không thể hoạt động. Vì vậy bài viết này sẽ nêu ra những lỗi thường gặp khi mọi người chèn code vào các file trên WordPress để người dùng có thể tránh được.

plugin

Thỉnh thoảng, sẽ có những đoạn code được chia sẻ nhằm thêm các tính năng hoặc cài đặt cho web WordPress. Mặc dù quá trình này khá dễ dàng đối với những ai biết PHP hoạt động như thế nào, nhưng có vẻ với người dùng mới thì chắc chắn sẽ có nhiều lúng túng.

Thường thì những người mới bắt đầu thường có xu hướng làm tắt, nhưng họ thiếu kiến thức về PHP để hiểu cách dán đúng mã. Không có gì sai với điều đó, và nếu bạn đang đọc bài viết này thì có thể bạn cũng gặp tình trạng trên. Chúng tôi muốn đảm bảo với bạn rằng bạn không phải là trường hợp duy nhất gặp vấn đề này. Ai cũng bắt đầu từ con số 0, và tất cả chúng tôi đều mắc phải lỗi này. Trong bài này, chúng tôi sẽ chỉ cho bạn cách tránh những sai lầm phổ biến nhất trong khi đưa code PHP từ hướng dẫn vào tệp functions.php của chủ đề WordPress của bạn.

Lưu ý: Tập tin functions.php của chủ đề nằm trong / wp-content / themes / yourthememberame / folder. Đây không phải là file functions.php trong thư mục / wp-includes /.

Để hiểu cách dán đúng mã, bạn cần phải hiểu cấu tạo cơ bản của PHP.

1
2
3
4
5
//This is the opening tag of a PHP Code
<?php
//This is the closing tag of a PHP Code
?>

Lý do bạn cần tự làm quen với điều này là vì hơn 95% vấn đề mà người dùng gặp phải liên quan đến việc dán code đúng vị trí. Vì vậy, hiểu biết lập trình PHP là rất hữu ích. Dưới đây là một số lỗi phổ biến nhất chúng ta thấy.

Sai lầm thứ nhất

Người dùng tìm thấy 1 đoạn code bằng PHP như dưới đây, và họ dán nó vào một vị trí không đúng.

1
2
3
4
5
6
<?php
add_filter( 'login_headerurl', 'custom_loginlogo_url' );
function custom_loginlogo_url($url) {
    return 'https://dichvuhostinggiare.com';
}
?>

Ví dụ tiêu biểu của tệp tin functions.php (Chú ý thường là tập tin functions.php của chủ đề có nhiều mã hơn, nhưng ý tưởng Tons of mumble jumble PHP code that already exists in your PHP file is herelà như nhau):

1
2
3
4
5
6
7
8
9
10
11
12
<?php
//Tất cả các file PHP đều nằm tại đây
//Người dùng sẽ sao chép và dán đoạn mã mà họ tìm thấy trên web như thế này:
<?php
add_filter( 'login_headerurl', 'custom_loginlogo_url' );
function custom_loginlogo_url($url) {
    return 'https://dichvuhostinggiare.com';
}
?>
?>

Bây giờ điều này rõ ràng là không đúng với WordPress ra bởi vì bạn  mở thẻ PHP mà không đóng thẻ PHP hiện có. Có hai cách để giải quyết vấn đề này. Phương pháp đầu tiên là chúng ta dán mục vào đúng chỗ:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
//Tất cả các file PHP đều nằm tại đây
//Cách đóng thẻ PHP đúng.
?>
//Và bây giờ bạn có thể mở một hàm PHP mới.
<?php
add_filter( 'login_headerurl', 'custom_loginlogo_url' );
function custom_loginlogo_url($url) {
    return 'https://dichvuhostinggiare.com';
}
?>

Lưu ý, làm thế nào chúng tôi dán đúng mã PHP sau khi đã đóng lại 1 thẻ PHP trước đó.

Phương pháp khác là chỉ cần tách các thẻ mở và đóng cho hàm function WordPress ra. Vì vậy, ví dụ sẽ như sau:

1
2
3
4
5
6
7
số 8
9
10
<?php
//Tất cả các file PHP đều nằm tại đây
// Mã mới chỉ cần đặt ở đây (Lưu ý cách chúng tôi loại bỏ việc mở và đóng các thẻ PHP từ mã mới)
add_filter( 'login_headerurl', 'custom_loginlogo_url' );
function custom_loginlogo_url($url) {
    return 'https://dichvuhostinggiare.com';
}
?>

Sai lầm thường gặp thứ 2

Mỗi người lập trình có phong cách viết riêng của họ. Một số giữ các đoạn của họ được bao quanh với thẻ PHP mà bạn đã thấy trong ví dụ trên. Các tác giả khác không bao gồm các đoạn mã của họ xung quanh với các thẻ PHP. Điều này dẫn chúng ta đến vấn đề thứ hai. Nếu bạn có một mã như thế này:

1
2
3
4
5
6
function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');

Tác giả giả định rằng bạn biết rằng mã này phải nằm trong các thẻ PHP. Một số thậm chí đề nghị bạn đặt mã của họ ở cuối tệp tin functions.php của chủ đề của bạn. Ví dụ lỗi hay gặp là:

1
2
3
4
5
6
7
số 8
9
10
11
12
<?php
//Tất cả các file PHP đều nằm tại đây
?>
//Người dùng dán mã vào đây (Chú ý các thẻ PHP đã được đóng ở trên):
function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');

Nếu bạn nhận thấy người dùng đã dán mã bên ngoài các thẻ PHP. WordPress sẽ không hiểu code có ý nghĩa. Một mã thích hợp sẽ giống như sau:

1
2
3
4
5
6
7
số 8
9
10
11
12
13
<?php
//Tất cả các file PHP đều nằm tại đây
//
function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');
//PHP End Tag
?>

Sai lầm thường gặp thứ 3

Bây giờ chúng ta đã đề cập đến vấn đề mở và đóng các thẻ PHP, lỗi phổ biến nhất mà chúng ta thấy liên quan đến việc người dùng dán các đoạn mã mới trong một hàm hiện có.

Ví dụ của một chức năng thường như sau:

1
2
3
4
5
function custom_function_name() { // 
// 
} // 

Nếu bạn dán một chức năng bên trong một chức năng, thì nó sẽ làm cho trang web của bạn bị hỏng. Ví dụ về lỗi này sẽ là:

1
2
3
4
5
6
7
số 8
9
10
11
12
function custom_function_name() { // Đây là mở đầu của một hàm
// Code cho hàm 
function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');
} // Phần đóng hàm

Bạn không thể làm điều này. Mỗi chức năng là độc lập, vì vậy bạn không thể đặt hai với nhau. Cách dán thích hợp sẽ như sau:

1
2
3
4
5
6
7
số 8
9
10
11
12
13
14
function custom_function_name() { // Đây là mở đầu của một hàm
// Code cho hàm 
} // Phần đóng hàm
function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');

Ba lỗi trên có thể là lý do tại sao theme của bạn đã bị lỗi khi bạn sao chép và dán một đoạn mã từ web vào file functions.php của WordPress.

Mẹo khác

Đôi khi chúng tôi gặp vấn đề chỉ để tìm ra rằng mã đã dán có lỗi. Một số lỗi nguyên nhân nằm ở người phát triển.

Điều quan trọng là bạn phải kích hoạt plugin nếu nó đang được sử dụng trong hướng dẫn. Một số tác giả hướng dẫn chỉ cần gọi hàm plugin trực tiếp trong đoạn mã của chúng mà không có câu lệnh có điều kiện để kiểm tra xem plugin có tồn tại hay không. Bạn có thể đổ lỗi cả người dùng và tác giả cho việc này. Tác giả nên có những chỉ dân cụ thể, nhưng người dùng cũng nên đã đọc bài báo đúng và cài đặt plugin yêu cầu.

Leave a Reply

Your email address will not be published. Required fields are marked *