WordPress的获得职位类型归档链接
我想根据岗位类型类别的档案(例如:视频后型) 我试图用这个函数来得到一个样本网址:get_post_type_archive_linkWordPress的获得职位类型归档链接
但我不能't得到的链接,我得到虚假的返回 我怎样才能得到一些示例链接指定的职位档案在类别中?
您能否告诉我一个类别的自定义帖子类型的示例链接?
我把这个线主题的index.php文件:
var_dump(get_post_type_archive_link('video'));
创建了一个视频后期型,但没有显示该值!只是假
非常感谢您
我是找到一种方法来列出一个类别中的所有POST格式,邮政型别的东西
核心WordPress的岗位类型有:
- 邮政(帖子类型:“后“)
- 页(帖子类型: '页')
- 附件(帖子类型: '附件')
- 修订(帖子类型: '版本')
- 导航菜单(帖子类型: 'nav_menu_item')
WordPress的帖子格式:
- 搁置 - 通常没有标题的样式。类似于Facebook的笔记更新。
- gallery - 一个图像库。帖子可能会包含一个图库简码,并会有图像附件。
- 链接 - 指向其他网站的链接。主题可能希望将帖子内容中的第一个标签用作该帖子的外部链接。另一种方法可能是如果帖子只包含一个URL,那么这将是URL,标题(post_title)将是附加到它的锚点的名称。
- 图片 - 一张图片。帖子中的第一个标签可以被认为是图片。或者,如果帖子只包含一个URL,那将是图片URL,并且帖子的标题(post_title)将是图片的标题属性。
- 报价 - 报价。可能会包含一个包含引用内容的blockquote。或者,引用可能只是内容,其中源/作者是标题。
- 状态 - 短状态更新,类似于Twitter状态更新。
- 视频 - 一个视频或者视频的播放列表。在帖子内容中嵌入的第一个标签或对象可以被视为视频。或者,如果该帖子仅包含一个网址,那将是视频网址。如果在博客上启用了视频支持(如通过插件),还可能包含该视频作为该帖子的附件。
- 音频 - 音频文件或播放列表。可以用于播客。
- 聊天 - 交谈记录,像这样:
要列出我们可以用这样的一个帖子格式的档案: http://sitename.com/type/image
解决方案一:
我在这里找到了解决方案:http://gabrieleromanato.name/wordpress-fix-the-404-error-on-custom-post-types/
这里就是你需要做的就是它的工作(从上面的网站引用)的内容:
进入设置→永久链接,改变当前的结构:
/%类别%/%postname%保存更改。恢复您的原始永久链接 设置。保存更改。
二解决方案:
原来存在的WordPress 3.1,你想要做什么的函数,它被命名为get_post_type_archive_link();这里是你怎么称呼它(假设命名为“产品”自定义后类型):
<a href="<?php echo get_post_type_archive_link('product'); ?>">Products</a>
下面是我以前的答案之前,我发现的WordPress的确有内置的这种使用情况的功能。
此前答:
除非我忽视为WordPress 3.1的核心源代码,我认为你正在寻找像get_archive_link()函数,你可以这样调用的东西(假设命名的自定义职位类型“产品“):
<a href="<?php echo get_archive_link('product'); ?>">Products</a>
而这里的源代码,你可以放入你的主题function.php文件或一个插件,你可能会写一个PHP文件:
if (!function_exists('get_archive_link')) {
function get_archive_link($post_type) {
global $wp_post_types;
$archive_link = false;
if (isset($wp_post_types[$post_type])) {
$wp_post_type = $wp_post_types[$post_type];
if ($wp_post_type->publicly_queryable)
if ($wp_post_type->has_archive && $wp_post_type->has_archive!==true)
$slug = $wp_post_type->has_archive;
else if (isset($wp_post_type->rewrite['slug']))
$slug = $wp_post_type->rewrite['slug'];
else
$slug = $post_type;
$archive_link = get_option('siteurl') . "/{$slug}/";
}
return apply_filters('archive_link', $archive_link, $post_type);
}
}
虽然我还没有100%确定这个逻辑的顺序在所有使用情况下一般都是正确的,但是WordPress可能会看到,尽管它可能适用于任何特定站点。
这也是一个伟大的事情,建议通过trac添加到WordPress,我认为我会在今晚晚些时候做。
我跟着你的解决方案,但不成功, 我也使用过该功能,但它返回false –
嘿,我发现问题和解决方案,看看这里:http://stackoverflow.com/questions/38741566/wordpress-get-post-type-archive-link/ 38743859#38743859 –
由于我无法理解的原因,get_post_type_archive_link()不一致地返回我网站的主页。你的功能有诀窍。 – MastaBaba
请出示你的代码? –
我把这个放在我的主题索引上,尝试浏览很多可能会返回的帖子和页面,但只是false:var_dump(get_post_type_archive_link('video')); –
如果post_type不存在或post_type没有存档,它将返回false。 –