如何使用自定义帖子类型和自定义分类来制作公司信息列表并将其显示给用户?

时间:2020-11-13 作者:Davood Kazemi

我需要将公司信息列表添加到我的网站中,并且我想在页面中显示该列表。然后,通过单击每家公司,用户可以在其个人帖子中查看有关该公司的更多信息。

这样做的正确方法是什么?我研究了自定义帖子类型和自定义字段。但他们似乎不适合我。我是否必须为每家公司建立一个职位?他们有一百多人。有没有更快捷的方法?

P、 S公司有相同的字段。每家公司都有名称、描述等,还有几张照片。

2 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

自定义帖子类型和分类法是实现这一点的合适方法。听起来您已经确定了适当的分类法和CPT:

SO网友:Chris Norman

这是一个相当开放的问题。你有很多事情要做。第一步是必须创建数据库。它看起来像这样:

function db_install() {
    
    global $wpdb;
    global $db_version;

    $table_name = $wpdb->prefix . \'thenameofyourdatabase\';

    $charset_collate = $wpdb->get_charset_collate();
    
    $sql = "CREATE TABLE $table_name (
        user_id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
        first_name tinytext NOT NULL,
        last_name tinytext NOT NULL,
        type_of_work text NOT NULL,
        PRIMARY KEY  (user_id)
    ) $charset_collate;";

    require_once( ABSPATH . \'wp-admin/includes/upgrade.php\' );
    dbDelta( $sql );

    add_option( \'db_version\', $db_version );


}
您需要添加更多的表来匹配您创建的数据库。这应该让你开始。。。有关更多信息,请阅读此处:https://codex.wordpress.org/Creating_Tables_with_Plugins

之后,由于这不会为您提供任何用户界面,因此您需要创建该界面。一种方法是使用上面的代码以及(我建议)jQuery创建自定义插件。您可以使用jQuery通过AJAX与数据库进行对话,并填充页面的内容。

这可能是一个不错的选择,原因之一是用户不需要刷新页面-他们可以从单个页面收集所有这些公司的所有数据。

这两种方法都需要工作—如果使用自定义帖子类型/自定义分类法—您仍需要创建超过100页的页面。如果您使用该插件,那么在设置该插件方面还有大量的工作要做。两者都需要一些工作,所以这取决于您喜欢的方法。

如果您想了解有关jQuery和AJAX的更多信息,请参阅以下参考资料:

https://developer.wordpress.org/plugins/javascript/jquery/

https://developer.wordpress.org/plugins/javascript/ajax/