如何在Wordpress中制作自己的帖子格式?

如何在Wordpress中制作自己的帖子格式?,wordpress,custom-post-type,Wordpress,Custom Post Type,如何创建自己的自定义帖子格式 或者,如何使我的自定义帖子类型与以下函数一起工作 get_post_format(); 例如,我有一个自定义的post类型,类型为“accordion”,我希望能够将其用作循环中的内容元素,但前提是它存在 get_template_part( 'content', get_post_format() ); 所以我在寻找一个函数,比如 get_custom_post_format(); 这在Wordpress中不存在 有人尝试过类似的方法吗?我不确定你是在问如何

如何创建自己的自定义帖子格式

或者,如何使我的自定义帖子类型与以下函数一起工作

get_post_format();
例如,我有一个自定义的post类型,类型为“accordion”,我希望能够将其用作循环中的内容元素,但前提是它存在

get_template_part( 'content', get_post_format() );
所以我在寻找一个函数,比如

get_custom_post_format();
这在Wordpress中不存在


有人尝试过类似的方法吗?

我不确定你是在问如何创建自定义帖子格式还是自定义帖子类型,所以我已经给出了这两种方法的答案

如果您询问是否可以创建自定义帖子格式…

…那么答案是否定的。请参阅WordPress codex上的以下引用:

Post格式功能提供了一个标准化的格式列表,可用于支持该功能的所有主题。主题不需要支持列表中的每种格式主题甚至插件都不能引入新格式。此列表的标准化既提供了众多主题之间的兼容性,也为外部博客工具提供了一条途径,使其能够以一致的方式访问此功能

如果您询问如何创建自定义帖子类型:

创建(注册)自己的自定义帖子类型的最基本示例是将以下代码添加到主题内的functions.php文件中

function register_recipes_post_type() {
    $args = array( 'public' => true, 'label' => 'Recipes' );
    register_post_type( 'recipe', $args );
}
add_action( 'init', 'register_recipes_post_type' );
上面的代码钩住了我们的
register\u recipes\u post\u type
函数,当WordPress内核触发
init
操作时,该函数将被执行

一旦你添加了这个代码,如果你去你的wp管理员你会看到一个新的菜单在左边叫做“食谱”,这是你的新的自定义文章类型。如果你添加了一个新的配方,给它一个标题和一些内容,发布它,然后尝试预览它,你会发现你得到一个404错误。创建新的自定义帖子类型后,您需要在wp管理员中转到设置>永久链接,只需访问该页面即可修复永久链接以包含新的自定义帖子类型,因此,如果您现在返回并刷新刚刚创建的菜谱预览,您将看到它现在可以工作,而不是404s

现在,如果您创建了一个名为single-recipe.php的新文件,并在其中添加了一些代码,现在只需添加“test”即可,以便查看它是否有效。一旦添加了,请再次刷新刚刚创建的配方预览,您应该会看到它只显示了“test”一词。使用该文件,您可以创建一个完全自定义的模板来显示该自定义帖子类型的单个条目(帖子),或者如果single.php包含
get_template_部分('content',get_post_format()),则可以使用content-recipe.php正如您在原始帖子中所说

显然,您的自定义帖子类型可能不会用于recipes,而只是将recipe和recipes的实例更新为您想要的任何内容

还有其他特定于文章类型的模板,你也可以为你的文章类型档案等创建。不过,以上内容应该足以让你开始

注册帖子类型时还可以传递其他参数,您可以在此处看到完整列表:


我希望这有帮助。祝你好运

WordPress当前不允许创建新的帖子格式。除了WordPress允许的格式外,您不能定义任何post格式

参考:
1.

我有几个自定义的帖子类型,我不想在循环中指定它。。因此,我正在寻找一个像get_post_format()这样的函数,它只用于自定义帖子类型。。实际上我找到了一个名为get\u post\u type()的函数。。。现在我将尝试它是否与循环一起工作。。。。像get_template_part('content',get_post_type());