{"id":16256,"date":"2020-04-17T22:10:18","date_gmt":"2020-04-17T15:10:18","guid":{"rendered":"https:\/\/kiencang.net\/?p=16256"},"modified":"2020-04-17T22:10:18","modified_gmt":"2020-04-17T15:10:18","slug":"gioi-thieu-plugin-wp2static-p2","status":"publish","type":"post","link":"https:\/\/kiencang.net\/gioi-thieu-plugin-wp2static-p2\/","title":{"rendered":"Gi\u1edbi thi\u1ec7u Plugin WP2Static: Post-Processing (ph\u1ea7n 2)"},"content":{"rendered":"\n

Pha x\u1eed l\u00fd h\u1eadu k\u1ef3 (post-processing phase) c\u1ee7a WP2Static t\u1ea1o m\u1ed9t b\u1ea3n sao (copy) cho t\u1eebng file \u0111\u00e3 \u0111\u01b0\u1ee3c crawl, th\u1ef1c hi\u1ec7n ch\u1ec9nh s\u1eeda n\u1ed9i dung c\u1ea7n thi\u1ebft \u0111\u1ec3 chu\u1ea9n b\u1ecb \u0111\u01b0a v\u00e0o qu\u00e1 tr\u00ecnh tri\u1ec3n khai (deployment)<\/a>.<\/p>\n\n\n

\"x\u1eed<\/figure><\/div>\n\n\n

\u1ede m\u1ee9c \u0111\u1ed9 t\u1ed1i thi\u1ec3u, pha x\u1eed l\u00fd h\u1eadu k\u1ef3 s\u1ebd thay th\u1ebf t\u1ea5t c\u1ea3 c\u00e1c URL trong trang web \u0111\u00e3 \u0111\u01b0\u1ee3c crawl, chuy\u1ec3n ch\u00fang t\u1eeb URL WordPress \u0111\u1ed9ng d\u1ea1ng ph\u00e1t tri\u1ec3n (v\u00ed d\u1ee5, http:\/\/localhost, https:\/\/dev.example.com) th\u00e0nh URL c\u1ee7a website th\u00e0nh ph\u1ea9m truy c\u1eadp c\u00f4ng khai cho ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i (production site’s URL), ch\u1eb3ng h\u1ea1n nh\u01b0 https:\/\/example.com<\/p>\n\n\n

C\u00e1ch tr\u00ecnh h\u1eadu x\u1eed l\u00fd c\u1ee7a WP2Static ho\u1ea1t \u0111\u1ed9ng<\/h2>\n\n\n

Nhi\u1ec7m v\u1ee5 c\u1ee7a tr\u00ecnh x\u1eed l\u00fd th\u00ec \u0111\u01a1n gi\u1ea3n v\u00e0 nhanh h\u01a1n nhi\u1ec1u so v\u1edbi nhi\u1ec7m v\u1ee5 crawling<\/a>. Trong khi v\u1edbi crawling, ch\u00fang ta c\u1ea7n g\u1eedi y\u00eau c\u1ea7u t\u1edbi c\u00e1c URL t\u1eeb WordPress, t\u1ea5t c\u1ea3 d\u1ef1a tr\u00ean WordPress, th\u00ec tr\u00ecnh h\u1eadu x\u1eed l\u00fd ho\u1ea1t \u0111\u1ed9ng b\u1eb1ng c\u00e1ch \u0111\u1ecdc v\u00e0 ghi c\u00e1c file tr\u00ean file h\u1ec7 th\u1ed1ng.<\/p>\n\n\n

Ch\u00fang t\u00f4i \u0111i v\u00e0o t\u1eebng th\u01b0 m\u1ee5c v\u00e0 file trong th\u01b0 m\u1ee5c website \u0111\u00e3 \u0111\u01b0\u1ee3c crawl (\/wp-content\/uploads\/wp2static-crawled-site\/<\/em>) nhi\u1ec1u l\u1ea7n v\u00e0 x\u1eed l\u00fd t\u1eebng file theo ki\u1ec3u n\u1ed9i dung c\u1ee7a n\u00f3.<\/p>\n\n\n

Hi\u1ec7n t\u1ea1i, trong l\u00f5i c\u1ee7a plugin WP2Static, ch\u00fang t\u00f4i \u0111\u1ed1i x\u1eed v\u1edbi c\u00e1c t\u1ec7p HTML\/CSS\/JS t\u01b0\u01a1ng t\u1ef1 nhau, th\u1ef1c hi\u1ec7n c\u00e1c thay th\u1ebf chu\u1ed7i \u0111\u01a1n gi\u1ea3n URL c\u1ee7a trang WordPress \u0111\u1ed9ng b\u1eb1ng URL c\u1ee7a trang tri\u1ec3n khai (Deployment URL).<\/p>\n\n\n

\u0110\u1ed1i v\u1edbi c\u00e1c file t\u0129nh nh\u01b0 \u1ea3nh, ch\u00fang t\u00f4i \u0111\u01a1n gi\u1ea3n l\u00e0 l\u01b0u m\u1ed9t b\u1ea3n sao m\u00e0 kh\u00f4ng c\u1ea7n \u00e1p d\u1ee5ng b\u1ea5t c\u1ee9 x\u1eed l\u00fd n\u00e0o n\u1eefa.<\/p>\n\n\n

\u00c1p d\u1ee5ng c\u00e1c x\u1eed l\u00fd b\u1ed5 sung<\/h3>\n\n\n

Ch\u00fang t\u00f4i m\u1edf r\u1ed9ng kh\u1ea3 n\u0103ng c\u1ee7a c\u1ee7a pha x\u1eed l\u00fd h\u1eadu k\u1ef3 cho ch\u00ednh ch\u00fang t\u00f4i v\u00e0 b\u1ea1n, c\u0169ng nh\u01b0 l\u1eadp tr\u00ecnh vi\u00ean c\u1ee7a b\u00ean th\u1ee9 ba.<\/p>\n\n\n

V\u00ed d\u1ee5, n\u1ebfu b\u1ea1n mu\u1ed1n t\u1ea1o m\u1ed9t tr\u00ecnh x\u1eed l\u00fd CSS n\u00e2ng cao c\u1ee7a ri\u00eang m\u00ecnh, b\u1ea1n c\u00f3 th\u1ec3 g\u1ecdi h\u00e0m remove_action()<\/em> c\u1ee7a WordPress cho h\u00e0nh \u0111\u1ed9ng wp2static_process_css<\/em> v\u00e0 s\u1eed d\u1ee5ng add_action()<\/em> \u0111\u1ec3 x\u1eed l\u00fd c\u00e1c file CSS theo c\u00e1c h\u00e0m c\u1ee7a b\u1ea1n. B\u1ea1n kh\u00f4ng c\u1ea7n vi\u1ebft to\u00e0n b\u1ed9 plugin, \u0111o\u1ea1n m\u00e3 n\u00e0y c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c t\u00edch h\u1ee3p v\u00e0o b\u1eb1ng ch\u1ee9c n\u0103ng functions.php<\/em> c\u1ee7a giao di\u1ec7n con (child theme).<\/p>\n\n\n

B\u1ed9 x\u1eed l\u00fd chu\u1ed7i hi\u1ec7n kh\u00f4ng kh\u1ea3 d\u1ee5ng, v\u00ec th\u1ebf n\u1ebfu b\u1ea1n mu\u1ed1n s\u1eed d\u1ee5ng tr\u00ecnh h\u1eadu x\u1eed l\u00fd m\u1eb7c \u0111\u1ecbnh c\u1ee7a WP2Static cho c\u00e1c ki\u1ec3u file c\u1ee5 th\u1ec3 v\u00e0 \u00e1p d\u1ee5ng c\u00e1c tr\u00ecnh x\u1eed l\u00fd b\u1ed5 sung kh\u00e1c, b\u1ea1n c\u0169ng c\u00f3 th\u1ec3 t\u00e1i t\u1ea1o h\u00e0nh vi m\u1eb7c \u0111\u1ecbnh c\u1ee7a ch\u00fang t\u00f4i trong tr\u00ecnh x\u1eed l\u00fd c\u1ee7a b\u1ea1n ho\u1eb7c ch\u1ea1y tr\u00ecnh x\u1eed l\u00fd t\u00f9y ch\u1ec9nh tr\u00ean to\u00e0n b\u1ed9 th\u01b0 m\u1ee5c \/wp-content\/uploads\/wp2static-crawled-site\/<\/em> sau khi t\u1ea5t c\u1ea3 c\u00e1c tr\u00ecnh x\u1eed l\u00fd kh\u00e1c ch\u1ea1y. B\u1ea1n c\u00f3 th\u1ec3 l\u00e0m \u0111i\u1ec1u \u0111\u00f3 qua hook wp2static_post_process_complete<\/em><\/p>\n\n\n

C\u00e1c file \u0111\u00e3 \u0111\u01b0\u1ee3c x\u1eed l\u00fd l\u01b0u tr\u1eef \u1edf \u0111\u00e2u?<\/h3>\n\n\n