在Wordpress中向permalink/url添加posts元值

在Wordpress中向permalink/url添加posts元值,wordpress,url-rewriting,custom-post-type,Wordpress,Url Rewriting,Custom Post Type,我正在尝试为Wordpress中存储事件日期的自定义帖子类型构建一个发言URL。我希望事件URL采用以下方案: /events/2013-12-24-christmas//events/2013-12-31-newyearseve/ 日期不是标准发布日期,而是存储在元字段中的日期:事件发生的日期 我试着用一个我用来重写另一个自定义post类型的代码片段来实现它,它看起来很有希望——但唯一的问题是:我无法获取post id来查询元数据:( 以下是到目前为止的重写代码: function creat

我正在尝试为Wordpress中存储事件日期的自定义帖子类型构建一个发言URL。我希望事件URL采用以下方案:

/events/2013-12-24-christmas/
/events/2013-12-31-newyearseve/

日期不是标准发布日期,而是存储在元字段中的日期:事件发生的日期

我试着用一个我用来重写另一个自定义post类型的代码片段来实现它,它看起来很有希望——但唯一的问题是:我无法获取post id来查询元数据:(

以下是到目前为止的重写代码:

function create_post_type_events {
  [...custom-post-type...]

  register_post_type('my_events', $args);

  global $wp_rewrite;
  $permalink_structure = '/events/2013-12-24-%my_events%';
  $wp_rewrite->add_rewrite_tag("%my_events%", '([^/]+)', "my_events=");
  $wp_rewrite->add_permastruct('my_events', $permalink_structure, false);
}
add_action('init', 'create_post_type_events');
日期显然是硬编码的,需要更换

我尝试了$post、$wp\u query、globalizing、get\u queryed\u object()…似乎没有任何帮助


那么,如何(实际上可能吗?)我可以获取post ID以便进一步查询吗?

这很有趣。乍一看,您希望日期在postname之前没有尾随“/”,只有破折号“-”,对吗?因为我的CPT总是默认为/posttype/postname。此外,我只看到post ID的get meta data和$wpdb以及类似geo data store的自定义查询我正在看这篇文章。你能不能调整一下slug,这样就容易多了。slug是用于url的s@BenRacicot很抱歉误解,但后面的斜杠不是问题;)我编辑了我的问题,因为我看到我漏掉了斜杠。@janw我知道我可以设置slug来表示这一点,但在这种情况下,日期强烈地属于标题,它是事件的日期。我认为最好将事件日期和事件标题放在一起。好吧,我明白了,但是如果标题部分和日期部分分开,那么如果标题部分是slug而不是postmeta,将有助于获得标题。即使你将标题和日期合并到一个slug中,这也是它的用途。