Php 添加不带页面的“自定义页面”

Php 添加不带页面的“自定义页面”,php,wordpress,templates,plugins,Php,Wordpress,Templates,Plugins,标题可能不太清楚,但我不知道如何用另一种方式问这个问题 我想在Wordpress中构建一个系统,用户可以将一些项目放在url之类的地方 通常我会在“管理”菜单中创建一个页面,并将其设置为某个模板,在内容中我会放置一些文本,如:不要删除此页面,此内容不会显示 但我认为一定有更好的方法将自定义页面添加到某个URL,而不必在后端将其添加为包含无用内容的页面,因为在这种情况下,内容不会从后端更改 我希望这是有道理的。我怎么能这样做呢 我想我可以通过一个自定义插件来实现这一点,但我似乎找不到任何代码来实现

标题可能不太清楚,但我不知道如何用另一种方式问这个问题

我想在Wordpress中构建一个系统,用户可以将一些项目放在url之类的地方

通常我会在“管理”菜单中创建一个页面,并将其设置为某个模板,在内容中我会放置一些文本,如:不要删除此页面,此内容不会显示

但我认为一定有更好的方法将自定义页面添加到某个URL,而不必在后端将其添加为包含无用内容的页面,因为在这种情况下,内容不会从后端更改

我希望这是有道理的。我怎么能这样做呢


我想我可以通过一个自定义插件来实现这一点,但我似乎找不到任何代码来实现这一点。我找到了在右边的设置菜单中添加管理页面的方法。但是我想在网站前端添加一个页面。

很抱歉,我没有正确理解您的问题。但有些人会说,创建自定义帖子或分类法:

请查看下面的链接


基本上,您可以通过创建一个重写规则,然后指向一个文件来实现这一点

add_action('init', 'add_rewrite_rule');
   function add_rewrite_rule(){
   // add_rewrite_rule(REGEX url, location, priority (i.e. top is before other rewrite rules)
   //basically tell wordress to add a query var if sidebar is added to url. change sidebar to what you want your link to be.
   // i set up a custom post type to make this work called custompostype..it does nothing but just to give post_type a value. 
   add_rewrite_rule('^sidebar?','index.php?is_sidebar_page=1&post_type=customposttype','top');
}

// register a query var
add_action('query_vars','market_set_query_var');
function market_set_query_var($vars) {
   array_push($vars, 'is_sidebar_page');
   return $vars;
}

// associate a template with your quer_var 
add_filter('template_include', 'market_include_template', 1000, 1);
function market_include_template($template){
    if(get_query_var('is_sidebar_page')){
    $new_template = (theme or plugin path).'/pages/yourpage.php'; // change this path to your file 
if(file_exists($new_template))
    $template = $new_template;
} 
return $template;
}

添加任何重写规则后,只有进入“设置->永久链接”并点击“保存”按钮,更改才会发生。

在functions.php文件中的任意位置添加此规则:

function themeslug_projects() {
    $args = array(
      'public' => true,
      'label'  => 'Projects', 

      'rewrite' => array( 'slug' => 'projects' ),
    );
    register_post_type( 'projects', $args );
}

add_action( 'init', 'themeslug_projects' );

完成此操作后,请再次保存永久链接设置,这样肯定会起作用

基本上,我想在前端显示一个完全自定义的内容,这是不可编辑的页面。它显示了一个项目生成器,由于内容不可编辑,我认为在后端添加一个页面并加载自定义模板会很奇怪。由于内容将只在后端不要删除我!它将破坏网站-但我不知道是否有可能在前端显示一些内容,而不在后端显示相应的页面或帖子。您希望前端自定义页面应该是静态的或动态的。我的意思是内容将每天更新。。如果没有,那么就放一个静态页面,如果你的内容将每天更新,那么你将需要它的后端。你打算这样做吗?我现在也有同样的问题,已经很多年了,我不再使用WordPress了,但我想我最终还是在仪表板上有了一个页面,上面写着:不要删除我,为那个页面设置一个自定义模板,然后在这个模板中运行我自己的代码。我明白了。谢谢