我在我的主题中使用了一个静态的首页,这很方便,也很好。我想做同样的类别和作者页以及。我还找不到这个问题。。。
我的理由是
•除了在函数中添加“require\\u once”之外,我不想打乱我的主题。php,以便主题更新顺利进行(但如果有模板,我会弄坏模板)
•我非常喜欢能够使用wordpress编辑器/媒体选择器等编辑页面
我猜一定有什么钩子?我找不到它,但一定有我可以设置指向静态页面的东西。。。正当
我目前正在努力了解这是否可行-(resolve /author/ to a page or archive (of all authors) template)... 如果我先找到答案,我会把它放在这里:)
编辑1:多亏了@Milo,我学会了儿童主题。迟到总比不做好
我创建了一个页面author1。作者页面的url看起来像author1。领域com。有很多“不”,因为我不知道我在做什么。。。
著者php
// check if this author has their own subdomain
// if so, pull a static page
if (is_sub_domain( $_SERVER[\'HTTP_HOST\'] ) ) {
// get author name from domain
$author_name = substr(str_replace( my_main_domain(), \'\', $_SERVER[\'HTTP_HOST\'] ),0,-1);
// get the author page by name
$include = get_pages(\'include=\'.get_page_by_title( $author_name )->ID);
//nope - only post content, not header/title/formating/etc
$content = apply_filters(\'the_content\',$include[0]->post_content);
echo $content;
$page = $include[0]->guid ;
//nope - white screen
echo file_get_contents( $page);
//nope - white screen
include $page;
//nope - white screen
if ($stream = fopen($page, \'r\')) {
stream_get_contents($stream, -1);
fclose($stream);
}
编辑2:已尝试更改查询。。还是一页空白
功能。php
add_action( \'request\', \'yoursite_request\' );
function yoursite_request($query) {
if ( domain.com/catagory/%catagory% ) {
$catagory = %catagory%
$query = new WP_Query( \'pagename\' => $catagory );
}
return $query;
}
编辑3:我正要放弃并开始玩Multisite,这时我找到了解决方案!这可能是不好的形式,破坏seo,或违背wordpress开发人员的意图。。。但这就是这个问题的答案,这也是我一直在寻找的。下面是为下一个除了“这不可能”或“你不应该那样做”之外无法得到直接答案的人发布的。
最合适的回答,由SO网友:adammoore 整理而成
答案基本上与我的Edit 2代码相同。我第一次一定是打错了?我试着对每件事都做了些什么评论。。。代码可以工作,但注释可能太离谱了。我是新手。同样,这段代码也适用于您的作者存档。
正如一位乐于助人的人所指出的,这段代码实际上毫无用处,根本不是Wordpress的意图。但是,对于静态页面,您可以使用主题模板创建一个漂亮的“类别存档”,并在页面底部添加循环,选择只显示正确的类别。几乎就像为你想写博客的每个主题都有一个全新的主页!
// This works!
// right when you request the site this function is called
add_action( \'request\', \'yoursite_request\' );
function yoursite_request($query_vars) {
// Do things to select %some-category% name here
// www.domain.com/category/%some-category%
// Do things to select the %category-archive%
// %category-archive% = www.domain.com/category/%some-category%
// Every time someone loads %category-archive% the static page will be called instead
if ( %category-archive% ) {
$category_name = %some-category%;
// This changes the wp_query to a specific page (replacing the archive query)
$query_vars = array( \'pagename\' => $category_name );
}
// returns the new query array back to wordpress...
// leaving you with a static page for a category archive
return $query_vars;
}
此外,如果您将此代码与我上一个问题/答案中的代码一起使用-
how to use a different domain/subdomain for authors/catagories on single site? 然后你可以得到类别/作者子/域,每个都有自己的静态页面(我认为有很多信息,甚至有一两个插件,可以将循环添加到任何页面……虽然我还没有看过)