应该最早在 2010 年之前,WordPress 在我心中始终是一个通用 Blog 程序,这是一个固有的印象。除非是喜欢小清新的,一般情况下是不推荐用 WordPress 搭建博客的,因为可替代的博客程序有很多。巴师兄有一个最常用了五年多的博客,是用来给 WP 手机网站导流的,用的程序是 z-blog。内容更新以科技数码 **、** 微软相关产品的新闻 / 评测等内容为主。当时那个站做到了百度秒收,这个站也不是什么重心,因为它的作用只是让蜘蛛和用户爬 / 点击到 WP 的网站。停止 WP 手机的项目后,那个博客的更新随即停止,域名在续费了两年之后也不续费了。22 年的时候,我突然想起了那个网址,随即打开浏览器,😅, 确实很尴尬,被成 * 网站拿来做导流了。
好了,回归主题,不该在这么严肃的网站讲这么不严肃的事情。
用中国人的思维去理解老外的思维(WordPress文章类型),犯强迫症的话总想不通为什么要这么设计。理解不通就去接受,反而,能理解产品经理的设计思想。WordPress的文章类型在2010年一个更新之前《WordPress 3.0版本,由Blog向CMS华丽转身》,默认的Post Type只有两种基本类型,post和page,这也是导致我对它由成见的原因,希望由强大一些的功能,但它好像只能作为博客程序?毕竟,作为WordPress上招牌插件的”WooCommerce” 2011年才正式面世。要理解,先解析下wp_posts的建表语句:
show create table wp_posts;
wp_posts | CREATE TABLE `wp_posts` (
`ID` bigint unsigned NOT NULL AUTO_INCREMENT,
`post_author` bigint unsigned NOT NULL DEFAULT '0',
`post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`post_content` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL,
`post_title` text COLLATE utf8mb4_unicode_520_ci NOT NULL,
`post_excerpt` text COLLATE utf8mb4_unicode_520_ci NOT NULL,
`post_status` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'publish',
`comment_status` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'open',
`ping_status` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'open',
`post_password` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`post_name` varchar(200) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`to_ping` text COLLATE utf8mb4_unicode_520_ci NOT NULL,
`pinged` text COLLATE utf8mb4_unicode_520_ci NOT NULL,
`post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`post_content_filtered` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL,
`post_parent` bigint unsigned NOT NULL DEFAULT '0',
`guid` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`menu_order` int NOT NULL DEFAULT '0',
`post_type` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'post',
`post_mime_type` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`comment_count` bigint NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`),
KEY `post_name` (`post_name`(191)),
KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`),
KEY `post_parent` (`post_parent`),
KEY `post_author` (`post_author`)
) ENGINE=InnoDB
我们把关键的字段, post_type, 拎出来看一下,它叫