自定义帖子类型

时间:2013-10-09 07:34:45

标签: php mysql wordpress

我正在尝试构建一个应用程序,它从用户那里获取2条输入并将其保存到数据库中。

These are the two fields that will submit input to be saved to the database

我尝试过自定义帖子类型,但它的概念是外来的并且让我感到困惑 - 我不知道我是否应该使用预先存在的字段(标题,内容)或创建字段来将输入存储在数据库中。

这是我的代码:

// Register Custom Post Type
function int_init() {

    $labels = array(
        'name'                => 'Stories',
        'singular_name'       => 'Story',
        'menu_name'           => 'Story',
        'parent_item_colon'   => 'Parent Stories:',
        'all_items'           => 'All Stories',
        'view_item'           => 'View Story',
        'add_new_item'        => 'Add new Story',
        'add_new'             => 'New Story',
        'edit_item'           => 'Edit Story',
        'update_item'         => 'Update Story',
        'search_items'        => 'Search Story',
        'not_found'           => 'No story found',
        'not_found_in_trash'  => 'No story found in Trash',
    );
    $args = array(
        'label'               => 'int',
        'description'         => 'INT information pages',
        'labels'              => $labels,
        'supports'            => array( 'title', 'editor', ),
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 5,
        'menu_icon'           => '',
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'post',
    );
    register_post_type( 'int', $args );

}

// Hook into the 'init' action
add_action( 'init', 'int_init', 0 );

所有这些代码对我来说都是在后端显示标题和内容字段。我应该只使用标题和内容字段,还是应该创建新字段?我该怎么做?

编辑:每个用户的内容都是唯一的,因为每个用户都会被要求使用使用短代码创建的表单输入两个字母数字数据。我知道短代码是如何工作的,并且过去曾使用它们。

输入的数据项将保存到数据库中,需要在站点的公共端检索和发布。对于每个数据对,将检索并显示这对数据项:

我想 吃一个花生酱三明治 然后 喝一杯牛奶。提交的数据显示为粗体。这种数据的检索和格式化将使用短代码完成。我不知道如何创建自定义字段来使其工作。我理解自定义帖子类型如何在基本级别上工作,但我不明白如何使用自定义帖子类型来使我的项目工作。

数据是由未登录网站的用户在网站的公共网站上提交的。

为了回顾我的问题,我不知道如何存储这对数据。我是否使用预先存在的标题和内容字段,还是创建不同的内容?

1 个答案:

答案 0 :(得分:2)

自定义帖子类型就是 - 自定义帖子类型。 Wordpress使用常规的内置帖子显示在网站的博客部分。您可以在后端看到的“帖子”按钮中创建它们。所以你做的是添加一个新的自定义帖子类型。这会创建一个标签为'int'的新按钮。但是输入的类型与普通的帖子类型相同 - 你会看到tinyMCE框,应用类别/标签等。

我认为除了自定义帖子类型之外,您需要的是在图片上显示的自定义字段。处理这些的简单方便的方法是使用此插件:http://www.advancedcustomfields.com/

或者,如果你真的不需要一个自定义的帖子类型 - 这可能会让你的循环稍微困难,因为你必须过滤所查询的内容才能得到你真正想要的东西 - 也许你可以做仅在自定义字段上。

如果您需要用户只有几个输入框,但没有tinyMCE等,我会说你需要自定义类型和自定义字段。

修改:有关自定义帖子类型的详细信息,请访问:Post Types « WordPress Codex

和自定义字段:Custom fields « WordPress Codex

编辑:如果用户每次发帖都会输入这两个'输入',也就是说,如果这两个片段将以每个帖子的形式存在...我认为你肯定是寻找自定义字段给出的功能。忘掉自定义帖子类型。只需创建自定义字段并在单个帖子循环中通过主题检索它们:

$themeta = get_post_meta($post->ID, $keyOfTheValueYouWantToRetrieve, TRUE);
if($themeta != '') {
    // show that info as desired
    echo "I want to" . $themeta;
}

我仍然不确定这是不是你的意思:)

相关问题