首先,扔掉你的定制助行器。
Post URL称为永久链接,与WordPress中的大多数内容一样,您可以过滤它们!有一个名为post_link
这样,您可以在帖子返回之前修改其URLget_permalink()
. 我们可以将其与posts slug一起使用home_url
函数获取类似的内容:
function wpse183928_anchor_urls( $url, $post, $leavename ) {
$url = home_url()."#".$post->post_name;
return $url;
}
add_filter( \'post_link\', \'wpse183928_anchor_urls\', 10, 3 );
其次,您用于分区的metabox和post meta的方式是错误的。如果您想对事物进行分类,可以使用自定义分类法,例如section category,您不需要重新调整页面和post meta的用途来实现自定义分类法。
因此,注册一个自定义分类法,将其命名为sections,并将其分配给页面。现在,您可以在导航菜单中添加“分区”,WordPress将为您提供免费的用户界面,您的数据将支持导入/导出,并且您将拥有一个专门为您创建/编辑/删除分区的管理页面
一些有用的信息:
许多人使用页面模板来实现主页。没有必要,只要使用home.php
模板,或index.php
当我说posts时,我指的是post类型的post。页面也是帖子(属于页面类型)。菜单导航项是nav_menu_item
, 和图像由post ID引用,其中每个图像都有一个类型为的关联postattachment
与存储EXIF数据、描述等的post meta连接WP_Query
. 人们会建议使用query_posts
. 这些人不是你的朋友,对他们说的每句话都持怀疑态度,从不使用query_posts
如果您需要修改WordPress在主循环中检索的帖子,不要丢弃主查询并创建自己的查询,请使用pre_get_posts
相反,它是significantly 速度更快