Kích hoạt Links Manager, BlogRoll Links trong wordpress 3.5

WordPress có một tính năng quản lý chia sẻ liên (kết links) gọi là Links Manager hay BlogRoll (danh sách blog liên kết). Tính năng này cho phép quản lý các liên kết được chia sẻ có thể thêm, sửa, xóa, nhập xuất và có Widget để hiện thị.

Với các phiên bản mới nhất – wordpress 3.5 (không nhớ rõ là 3.5.x nào), mục quản lý Links manager đã không còn xuất hiện trong bảng điều khiển admin nữa. WordPress quyết định để loại bỏ chức năng này nguyên nhân có thể là do gần đây rất nhiều blog bị Google phạt do mua bán liên kết.

Links manager bị ẩn khỏi WP 3.5 do một số blog bị Google phạt vì mua bán liên kết?
Links manager bị ẩn khỏi WP 3.5 do một số blog bị Google phạt vì mua bán liên kết?

Có rất nhiều admin vẫn muốn sử dụng chức năng này để quản lý liên kết (như mình chẳng hạn). Rất may là theo tìm hiểu của mình WordPress không hoàn toàn loại bỏ các liên kết này mà chỉ ẩn nó khỏi bảng điều khiển. Nếu bạn muốn kích hoạt các chức năng, bạn chỉ cần đặt dòng mã trong function.php của WordPress theme. Chỉ với một dòng mã không cần cài thêm phần mở rộng (plugins) để quản lý liên kết. Bản thân mình cũng hạn chế sử dụng Plugins vì nó cũng là phần làm cho blog load chậm hơn và nếu viết không tốt có thể còn gây ra các lỗi về bảo mật nữa.

Để hiển thị lại chức năng này trong WordPress 3.5 các bạn cần thực hiện các bước sau:

  1. Đăng nhập vào bảng điều khiển blog của bạn (admin) your-blog-name.com/wp-login.php
  2. Ở Sidebar bên trái chọn mục Appearance / Editor
  3. Sửa tệp  admin_functions.php hoặc theme_functions.php  và chèn dòng code bên dưới vào bất kỳ vị trí nào trong file (tất nhiên là đừng phang vào giữa các dòng lệnh là được rồi). Mình chèn vào đầu file admin_functions.php

[php]add_filter( ‘pre_option_link_manager_enabled’, ‘__return_true’ );[/php]

Lưu lại và bấm F5 mục Links Manager và widget BlogRoll bây giờ bắt đầu xuất hiện trên khu vực admin wordpress và bạn có thể sử dụng chức năng quản lý như phiên bản trước đây của wordpress rồi. Chúc các bạn thành công.

Open Graph Protocol biến website của bạn trở thành một phần của mạng xã hội

Open Graph Protocol là gì?

The Open Graph protocol
The Open Graph protocol

Open Graph Protocol (OGP) bao gồm tập hợp các thẻ giúp bạn định nghĩa dữ liệu có cấu trúc giúp cho việc chia sẻ dữ liệu giữa trang web của bạn với các trang mạng xã hội dễ dàng hơn. Mục tiêu của OGP là cho phép bạn tích hợp trang web của bạn vào mạng xã hội của họ biến trang web của bạn thành một trang, một phần của mạng xã hội. Từ đó giúp cho việc quảng bá trang web của bạn tới người dùng trong mạng xã hội dễ dàng hơn.

Ví dụ như người dùng Facebook(FB) kích vào nút like trên trang web của bạn trang web của bạn sẽ xuất hiện trong trang cá nhân của họ và họ và bạn bè của họ sẽ nhìn thấy trang web của bạn trên trang cá nhân của người đó.

Câu chuyện về nút like Open Graph Câu chuyện về nút like Open Graph

Làm thế nào để sử dụng OGP?

Như đã nói ở trên để sử dụng OGP thì trong trang web của bạn phải bao gồm các thẻ định nghĩa dữ liệu có cấu trúc để các trang mạng xã hội có thể hiểu được.

Sau đây là một số ví dụ:

[html]

The Rock (1996)
<meta content="The Rock" />
<meta content="movie" />
<meta content="http://www.imdb.com/title/tt0117500/" />
<meta content="http://ia.media-imdb.com/rock.jpg" />
<meta content="IMDb" />
<meta content="USER_ID" />
<meta content="A group of U.S. Marines, under command of a renegade general, take over Alcatraz and threaten San Francisco Bay with biological weapons." />


[/html]

Trong ví dụ trên có nhiều định nghĩa tuy nhiên chúng ta không cần tìm hiểu chúng vội chúng ta sẽ xem kết quả khi ai đó like trang web của bạn facebook sẽ dựa vào các định nghĩa trên trang và hiển thị trên profile của người dùng nội dung như sau

Open graph profile
Open graph profile

Ngoài việc định nghĩa qua các thẻ meta FB còn sử dụng thẻ XFBM để định nghĩa nút like. Dưới đây là 1 ví dụ:

[html][/html]

Kết quả hiển thị trên trang web của bạn như bên dưới:

Để hiểu các thẻ định nghĩa các bạn tham khảo tại: http://ogp.me/.

Sau khi hiểu các định nghĩa và sử dụng các bạn có thể vận dụng linh hoạt từ đó giúp cho việc quảng bá website của các bạn trên mạng xã hội tốt hơn. Chúc các bạn thành công.

Xóa các dòng code trống trong Dreamwave

Có nhiều nguyên nhân dẫn đến việc code của bạn bị chèn vào một số dòng trắng (hay dòng trống) khi chỉnh sửa trong Dreamwave. Một số nguyên nhân chính sau đây:

1. Do code của bạn trước đó được chỉnh sửa trên một số trình editor khác định nghĩa về dòng của nó khác với Dreamwave

2. Do code được chỉnh sửa trên 1 nền tảng hệ điều hành khác với nền tảng hệ điều hành bạn đang sử dụng vì vậy nó có định nghĩa về file khác nhau

3. Do trong quá trình truyền tệp tin dữ liệu bị sai lệch

4. Do mã nguồn của bạn được copy/paste có sẵn nhiều dòng trống

Nếu bạn xác định được nguyên nhân thì bạn có thể dễ dàng chỉnh lại code cho chuẩn trước khi sử dụng Dreamwave để chỉnh sửa. Nếu không thì các bạn vẫn có loại bỏ các dòng trắng đó ngay trong Dreamwave mà không cần nhờ đến phần mềm nào khác.

Tìm kiếm và thay thế các dòng trống trong Dreamwave
Tìm kiếm và thay thế các dòng trống trong Dreamwave

1. Đầu tiên bạn mở code cần chỉnh sửa trong Dreamweaver
2. Ấn tổ hợp phím CTRL + F, hoặc vào menu EDIT > FIND AND REPLACE
3. Chọn “Current document” trong “Find In” (Chỗ này ta có thể chọn folder nếu muốn sửa nhiều file).
4. Trong “Search” chọn “Source Code”
5. Đánh dấu vào ô “Use regular expression”
6. Gõ “[\r\n]{2,}” (Không bao gồm dấu nháy kép) trong ô “Find”
7. Gõ “\n” (Không bao gồm dấu nháy kép) trong ô “Replace”
8. Chọn “Replace All”

Để lần sau thuận tiện bạn nên lưu lại truy vấn vừa sử dụng bằng cách nhấn vào biểu tượng đĩa mềm (Save query). Lần sau bạn không cần nhớ biểu thức thay thế nữa chỉ cần Load Query lên sử dụng. Như vậy là xong rồi.

3DMax phối cảnh gian hàng nước ép trái cây Fairy Juice tại MelinhPlaza

Để render cái này các bạn sử dụng 3DMax version 2009 và VRay cho 3DMax 2009 luôn nhé không nhớ version mấy nữa. Demo của nó đây:

Fairy Juice render
Fairy Juice render

Download tại đây nhé:

[do action=”adfly_download” href=”http://adf.ly/JnKSG” title=”thiet ke gian hang 3dmax”/]

Tùy biến Yahoo! Messenger extension opencart

Yahoo! Messenger extension là phần mở rộng hiển thị box hỗ trợ trực tuyến hỗ trợ nhiều Yahoo!ID. Download và cài đặt extension này tại đây:

http://www.opencart.com/index.php?route=extension/extension/info&extension_id=70#.USpMlTfQIa9

Demo:

Extension yahoo messenger demo
Extension yahoo messenger demo

Mình sẽ hướng dẫn các bạn tùy chỉnh extension này để có thêm tiêu đề và số điện thoại giống như thế này:

Yahoo support custom opencart
Yahoo support custom opencart

Sau khi cài đặt extension các bạn sửa các file sau:
+ /catalog/controller/module/yahoo_messenger.php

[php]
<?php
class ControllerModuleYahooMessenger extends Controller {
protected function index($setting) {
//print_r($setting);
$this->language->load(‘module/yahoo_messenger’);
$this->data[‘heading_title’] = $this->language->get(‘heading_title’);
$tmp_array = explode("|", $this->config->get(‘yahoo_messenger_code’));
$ymarray = explode(",", $tmp_array[0]);
$ymtext_array = explode(",", $tmp_array[1]);
$ymtel_array = explode(",", $tmp_array[2]);
$this->data[‘ymcode’] = ‘<ul class="block-support">’;
for($i=0; $i<=count($ymarray) – 1; $i++){
$this->data[‘ymcode’] .= ‘<li>’;
$this->data[‘ymcode’] .= ‘<span class="ymtext">’. $ymtext_array[$i].'</span><br />’;
$this->data[‘ymcode’] .= ‘<div class="ymid"><img alt="Yahoo Online Status" src="’.$this->status_check(trim($ymarray[$i])).’" border="0"><a href="ymsgr:sendim?’.trim($ymarray[$i]).’">’.trim($ymarray[$i]).'</a></div>’;
$this->data[‘ymcode’] .= ‘<div class="ymtel">’. $ymtel_array[$i].'</div>’;
if($setting[‘listview’]=="0")
$this->data[‘ymcode’] .= "<br />";
else
$this->data[‘ymcode’] .= "&nbsp;&nbsp;";
$this->data[‘ymcode’] .= ‘</li>’;
}
//$this->id = ‘yahoo_messenger’;
$this->data[‘ymcode’] .= "</ul>";
if (file_exists(DIR_TEMPLATE . $this->config->get(‘config_template’) . ‘/template/module/yahoo_messenger.tpl’)) {
$this->template = $this->config->get(‘config_template’) . ‘/template/module/yahoo_messenger.tpl’;
} else {
$this->template = ‘default/template/module/yahoo_messenger.tpl’;
}

$this->render();
}
function status_check($yid)
{
$url=’http://opi.yahoo.com/online?u=’.$yid.’&m=t’;

$not_online = strpos(implode(”,file($url)),"NOT ONLINE");

if ($not_online) {
//NOT ONLINE;
$status=’catalog/view/theme/default/image/offline.gif’;
}
else {
//ON LINE
$status=’catalog/view/theme/default/image/online.gif’;
}
return $status;
}
}
?>
[/php]

+ Thêm các class sau vào css theme bạn đang sử dụng:
[css]
.ymid, .ymtext, .ymtel {
font-weight: bold;
width: 100%;
}
.ymtext {
text-transform: uppercase;
}
.ymtel {
background: url("../image/note-phone.png") no-repeat scroll 0 0 transparent;
color: #FF0000;
margin-top: 5px;
padding-left: 25px;
}
.ymid a {
margin-left: 5px;
}
[/css]
Thế là xong rồi. Demo các bạn xem tại website http://milanplaza.com.vn/

Autoit syntax highlighter for wordpress

Step 1: Install plugin SyntaxHighlighter Evolved http://wordpress.org/extend/plugins/syntaxhighlighter/
Step 2: Download Autoit brush

[do action=”adfly_download” href=”http://adf.ly/JjZpq” title=”autoit brush”/]

Step 3: Upload it to folder: /public_html/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3

Step 4: Edit file: /public_html/wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php

+ Find code (line 104 + 105):

[php]
// Register brush scripts
wp_register_script( ‘syntaxhighlighter-core’, plugins_url(‘syntaxhighlighter/’ . $this->shfolder . ‘/scripts/shCore.js’), array(), $this->agshver );
[/php]

add this code after:

[php]
wp_register_script( ‘syntaxhighlighter-brush-autoit’, plugins_url(‘syntaxhighlighter/’ . $this->shfolder . ‘/scripts/shBrushAutoIt.js’), array(‘syntaxhighlighter-core’), $this->agshver );
[/php]

+ Find code (line 149 + 150)

[php]
$this->brushes = (array) apply_filters( ‘syntaxhighlighter_brushes’, array(
‘as3’ => ‘as3’,
[/php]

add this code after:

[php]
‘au3’ => ‘autoit’,
[/php]

Use short code

{au3}your autoit script code{/au3} (replace {} = [])

in your post. End!

Mã nguồn tiện ích chuyển tiếng Việt có dấu sang không dấu Autoit

Chức năng này giống chức năng loại bỏ dấu trong Unikey tuy nhiên tiện lợi hơn vì chỉ việc copy vào clipboard sau đó nháy chuột phải vào icon chương trình dưới system tray chọn convert là xong.

Các bạn có thể cải tiến để tiện ích hoạt động tốt hơn. Sau đây là toàn bộ code

[au3]
#include <GuiConstantsEx.au3>
#include <ClipBoard.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>

Opt(‘MustDeclareVars’, 0)
Opt("TrayMenuMode",1)
_Main()
Func _Main()
$convertitem = TrayCreateItem("Convert")
$exititem = TrayCreateItem("Exit")
TraySetState()
While 1
$msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $convertitem
ConvertClipboard()
Case $msg = $exititem
ExitLoop
EndSelect
WEnd
EndFunc

Func ConvertClipboard()
$s_Text=_ClipBoard_GetData ($CF_UNICODETEXT)
$s_Text=cv2urltitle($s_Text)
$s_Text=StringLower($s_Text)
_ClipBoard_SetData($s_Text)
MsgBox(0,"Thành công","Chuỗi nhận được: " & $s_Text)
EndFunc

Func cv2urltitle($text)
$uni1 = StringSplit("á,à,ạ,ả,ã,â,ấ,ầ,ậ,ẩ,ẫ,ă,ắ,ằ,ặ,ẳ",",",2)
For $i=0 to Ubound($uni1)-1
$text = StringReplace($text,$uni1[$i],"a");
Next

$uni2 = StringSplit("Á,À,Ạ,Ả,Ã,Â,Ấ,Ầ,Ậ,Ẩ,Ẫ,Ă,Ắ,Ằ,Ặ,Ẳ",",",2);
For $i=0 to Ubound($uni2)-1
$text = StringReplace($text,$uni2[$i],"A");
Next

$uni3 = StringSplit("é,è,ẹ,ẻ,ẽ,ê,ế,ề,ệ,ể,ễ",",",2);
For $i=0 to Ubound($uni3)-1
$text = StringReplace($text,$uni3[$i],"e");
Next

$uni4 = StringSplit("É,È,Ẹ,Ẻ,Ẽ,Ê,Ế,Ề,Ệ,Ể,Ễ",",",2);
For $i=0 to Ubound($uni4)-1
$text = StringReplace($text,$uni4[$i],"E");
Next

$uni5 = StringSplit("ó,ò,ọ,ỏ,õ,ô,ố,ồ,ộ,ổ,ỗ,ơ,ớ,ờ,ợ,ở",",",2);
For $i=0 to Ubound($uni5)-1
$text = StringReplace($text,$uni5[$i],"o");
Next

$uni6 = StringSplit("Ó,Ò,Ọ,Ỏ,Õ,Ô,Ố,Ồ,Ộ,Ổ,Ỗ,Ơ,Ớ,Ờ,Ợ,Ở",",",2);
For $i=0 to Ubound($uni6)-1
$text = StringReplace($text,$uni6[$i],"O");
Next

$uni7 = StringSplit("ú,ù,ụ,ủ,ũ,ư,ứ,ừ,ự,ử,ữ",",",2);
For $i=0 to Ubound($uni7)-1
$text = StringReplace($text,$uni7[$i],"u");
Next

$uni8 = StringSplit("Ú,Ù,Ụ,Ủ,Ũ,Ư,Ứ,Ừ,Ự,Ử,Ữ",",",2);
For $i=0 to Ubound($uni8)-1
$text = StringReplace($text,$uni8[$i],"U");
Next

$uni9 = StringSplit("í,ì,ị,ỉ,ĩ",",",2);
For $i=0 to Ubound($uni9)-1
$text = StringReplace($text,$uni9[$i],"i");
Next

$uni10 = StringSplit("Í,Ì,Ị,Ỉ,Ĩ",",",2);
For $i=0 to Ubound($uni10)-1
$text = StringReplace($text,$uni10[$i],"I");
Next

$text = StringReplace($text,"đ","d");
$text = StringReplace($text,"Đ","D")
$uni13 = StringSplit("ý,ỳ,ỵ,ỷ,ỹ",",",2);
For $i=0 to Ubound($uni13)-1
$text = StringReplace($text,$uni13[$i],"y");
Next

$uni14 = StringSplit("Ý,Ỳ,Ỵ,Ỷ,Ỹ",",",2);
For $i=0 to Ubound($uni14)-1
$text = StringReplace($text,$uni14[$i],"Y");
Next
Dim $aArray[26] = [".","!","~","@","#","$","%","^","&","*","(",")","-","=","+","|","\","/","?",",","’","<",">",":","’"," "]
For $i=0 to UBound($aArray)-1
$text = StringReplace($text,$aArray[$i],"-");
Next
return $text;
EndFunc
[/au3]

Vector market biển cửa hàng gas và bếp gas Tân Hoàng Minh

Biển cửa hàng gas và bếp gas shell gas Tân Hoàng Minh
Đây là hệ thống cửa hàng gas
Màu xanh shell gas là màu chủ đạo
Kích thước biển: 4m15 x 7m
Demo:

Demo market biển shell gas Tân Hoàng Minh
Demo market biển shell gas Tân Hoàng Minh

Download:

[do action=”adfly_download” href=”http://adf.ly/JjFTB” title=”Vector shell gas Tân Hoàng Minh”/]

Vector market biển cửa hàng sữa Song Anh Mart

Cửa hàng sữa tươi sữa chua Song Anh Mart CT2 khu đô thị Văn Khê – Hà Đông

Kích thước biển: 3.5m x 0.975m

Màu chủ đạo: trắng + xanh

Demo:

Biển Song Anh Mart Demo
Biển Song Anh Mart Demo

Download tại:

[do action=”adfly_download” href=”http://adf.ly/Jj93L” title=”Vector biển Song Anh Mart”/]