Название может быть не совсем ясным, но я не знал, как спросить об этом по-другому.
Я хочу создать систему в WordPress, где пользователь может скомпоновать некоторые проекты, где он будет на URL-адресе, например http://mywordpress.com/projectbuilder/, или что-то в этом роде.
Обычно я создавал бы страницу в меню администратора и настраивал ее на определенный шаблон, а в контенте я бы поместил текст вроде: «Не удаляйте эту страницу, этот контент не отображается».
Но я думаю, что должен быть лучший способ добавить настраиваемую страницу к определенному URL-адресу, не добавляя его в бэкэнд как страницу с «бесполезным контентом», так как в этом случае содержимое не будет изменяться с бэкэнд.
Я надеюсь в этом есть смысл. Как я могу это сделать?
Я думаю, что я мог бы добиться этого с помощью настраиваемого плагина, но я не могу найти какой-либо код, как это сделать. Я нашел способ добавить страницы администрирования в меню настроек справа. Но я хочу добавить страницу на сайт на передней панели.
Извините, я не получил ваш вопрос правильно. но некоторые, что говорят, чтобы создать Custom post или таксономии:
Пожалуйста, проверьте ниже ссылку
Пользовательский пост и таксономии
В файле 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' );
Сохраните ваши настройки постоянной ссылки после этого, это будет работать точно тогда.
в основном вы можете это сделать, создав правило перезаписи и затем указывая на файл.
add_action('init', 'add_rewrite_rule'); function add_rewrite_rule(){ // add_rewrite_rule(REGEX url, location, priority (ie 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; }
после добавления какого-либо правила перезаписи изменения не будут выполняться до тех пор, пока вы не войдете в настройки-> permalinks и не нажмете кнопку «Сохранить».