Navigation in Wordpress - php

Good afternoon, I'm creating an "Areas" page on my Wordpress website with a page structure like this;
Home About Us Areas
- Wiltshire
-- Salisbury
-- Wilton
- Hampshire
-- Andover
-- Portsmouth
I'm looking for a way to generate all the links on the areas page with the parent of the town being the Title!
For example
<h2>Wiltshire</h2>
<ul>
<li><a href>Salisbury</a></li>
<li><a href>Wilton</a></li>
</ul>
What is the best way to generate these links within Wordpress?

Create the pages and then create a custom menu. Once registered add the menu items. Most themes have a navigation menu up the top. You can find the code which registers it in functions.php of the theme directory. If your pages have different functionality to regular pages, consider registering a custom post type and adding those instead of regular pages.

The theme which you use should support the Menu if you intend to use the Menu options in the Wordpress dashboard, check the Menu_User_Guide
If you wish to write code check the Horizontal_Menus

Related

How to add custom navigation sidebar in wordpress

I want to create a tutorial site like https://www.runoob.com/ by using wordpress. I want to create some pages, for example /java , and some subpages, for example /java/java-tutorial and /java/java-intro .
I want to show a navigation sidebar in each of these subpages. I want the sidebar list all links of the subpages. How to do it?
Thanks!
Add a Navigation Menu to Sidebar in WordPress
You can easily add navigation menu in your WordPress website using the WordPress dashboard. Login to your WordPress website and go to dashboard then-
Go to Appearance > Widgets
Under available widget area find your navigation menu you want to add.
Drag and drop the menu into main sidebar widgets area
Add a name of the menu and select from the drop-down where you want to use it.
Create a custom sidebar for WordPress website
There are a lots of plugins available for custom sidebar navigation menu. Here in this tutorial we are using Custom Sidebars — Dynamic Widget Area Manager plugin to create our custom sidebar for specific pages. This plugin offers you so many customization options. With the help of this plugins you can create multiple sidebar for multiple pages.
Download this plugin from WordPress plugin page and activate it. after activating the plugin go to your dashboard and then Appearance > Widgets. If the plugin is running successfully then you will able to see the option Create a new sidebar
From this page you can choose a name of your sidebar and add some description about it. If you want to create multiple sidebar then you should give a related name for each sidebar so that you can easily understand that which sidebar for which purpose. You can see all of your sidebar in custom sidebar section
Now from the Available Widgets area you need to drag and drop element you want to display in your sidebar.
For better understanding you can follow this article

Order Pages in Wordpress

I am new to CMS development, I prefer the MVC concept for every job. But just know the client requested to develop a website built in WordPress. Everything is OK but I can't find to order pages in WordPress.
The case is: first I create a home page and then I create other pages, but the problem is every time I add new pages, it will be placed in my first menu.
So I want to move the home pages in first menu.
Please help, thanks.
You can create a custom menu (with the pages/links you want, and the order you want !). Then you can add that menu to be the new navigation menu (both header, and footer if you want)
References:
WordPress Menu (here you can find the step by step 'guide')
Just go to Appearance --> Menus and then you'll be able to create menus and edit at will. And if you need to create specific menus, see WP nav menu page. There you'll see several code samples, but you'll need something as simple as
<?php wp_nav_menu( array('menu' => 'Main Nav' )); ?>

How to swap submenu in different pages

I create a submenu for the pages of my website. Each page will have a different submenu in the header. For example:
Inicio: menu 1
Sala de Investigación: menu2
Estudios Bíblicos: menu3
how can I do this using the if statement
Im creating my website using wordpress. My old web page is:justiciadedios.com
Very easy.
Use Wordpress 3.0
Use the "Custom Menu" plugin to create different custom menus, one menu for each page.
Go to Appearance > Widgets and place several Custom Menu widgets wherever you want the menu, one widget for each Custom menu.
Download and install the Widget Logic Plugin: http://wordpress.org/extend/plugins/widget-logic/
Read the Widget logic instructions and use the PHP shortcodes to select which page each wiget will appear on. Have fun!

Using WordPress as a CMS

I am currently teaching myself WordPress and working on my own CMS site.
My site will consist of approximately five pages where the header/sidebar menu/footer will be seen on all these five pages.
Beginner here and questions are as follows:
All these five pages will consist of different content, for example, every page will have a image banner representing the menu option just clicked, for example, "About Us" on page 5, "Promotions" on page 4 etc and then some text beneath that and then possibly some images inside a carousel set up.
Within WordPress, how would I tackle this, i.e. do I just create a page in WordPress, position the banner image at the top of the page, then have a few breaks and then insert the carousel of images - is this correct?
If not, do I need to create a separate php file called aboutUs.php that has this markup and then somehow link it to a WordPress page?
On my landing page of my site ONLY (page 1), just above the footer, I want to display a div section that displays all the sponsors of the website along with a URL to click to their websites - how would I go about doing this in WordPress?
Furthermore, with my menu, how do I link my menus to point to the WordPress pages relating to that menu option?
If you use the 'default' template that comes with WordPress you could do something like this to generate different content on different pages without creating separate php files (this would go in page.php):
<?php if(is_page('About Us')) { ?>
<?php $about_query = new WP_Query('category_name=aboutus-&showposts=1');
while ($about_query->have_posts()) : $about_query->the_post(); ?>
<?php the_content();?>
<?php endwhile;?>
Essentially, in this you could just create a post and an 'aboutus' category to reference it. The page of 'About Us' (referenced through is_page()) would contain the content you wanted to display.
First, some background. Wordpress has a number of ways to display stuff, such as images, text, and query results; here's a list:
THEMES
You can modify your theme files directly to do whatever you like. This will probably involve learning a lot about PHP and the Wordpress internals, but there are plenty of books, and the Wordpress Codex to help you. You can get themes from the Wordpress theme directory.
PLUGINS
There are huge numbers of Wordpress plugins, any one of which might fit your need. Plugins will require configuration, but generally won't involve learning PHP -- just how to install and configure them. Most of the SEO (Search Engine Optimization) plugins will allow you to place custom HTML in the templates (nominally for ad placement, but you can do anything you want with it). You can get plugins from the Wordpress plugin directory.
WIDGETS
The base Wordpress software and many plugins provide Widgets. A widget is a display element that can be docked in one or more widget areas. Typically a widget will be a chunk of HTML (often an unordered list) that has the theme's style sheet applied. Widgets are often used for ad placement, navigation elements (menus, dropdowns, breadcrumbs) or to provide tag clouds, category lists, calendars, etc.
SHORTCODE
A shortcode is a macro that can be placed in a page or post, that will return a chunk of HTML. Shortcodes can take parameters that will affect what the shortcode returns. The base Wordpress software provides some shortcodes, but many plugins will provide shortcodes as a way to get more functionality without the need for widgets or theme modifications.
With all of that in mind, here's my answer(s) to your question(s):
Modify your theme to include a page template, and add your image selection code to the template. Then create your individual pages, and then select your template while editing the page.
The 'landing page' can be any page (instead of the default blog index page); create a 'home' page and a 'home' page template that includes your advertisements. Alternately, use a SEO plugin to add the ads above the footer.
I don't know what theme or plugins you use, but generally you can configure a navigation menu to work from a list of pages, specifying either which pages to include or which pages to exclude. If your theme doesn't include this functionality, I'd recommend choosing a different theme.
Look into Wordpress "page templates". The Wordpress codex can help you understand this.
If you edit a post in WP you will notice the option to use a template. That is your goal. Learn how to work with them.
Wordpress themes are composed of multiple files. One of them is the header.php file which contains the header content. The footer.php file contains the footer and the sidebar.php contains the sidebar. These are the usual conventions. They're not strict. There will be a couple of main files which include these (e.g., index.php - Used for articles, page.php - Used to display pages etc.)
If I were making a setup like yours, I'd make five "pages" (using the backend) and then customise my page.php file to present it properly. I'd still keep the header, footer and sidebar separate from the page.php file since they'd be there for pages like 404s etc. as well.
Just put something in the content of the landing page to display this.
IF you're doing theme development, the right place to look at is http://codex.wordpress.org/Theme_Development

Custom URL rewrite in wordpress

I am trying to achieve a custom URL structure with Wordpress. Basically, my site functions as my blog and my portfolio. I want to have an "Articles" section and a "Portfolio" section. I want the articles to display on the Articles page, and the portfolio on the Portfolio page. Should be easy, except on top of that I want custom URLs...
I want the URLs setup like this:
Articles page:
http://mydomain.com/discusses
Specific article:
http://mydomain.com/discussed/%postname%
Portfolio page:
http://mydomain.com/does
Specific design:
http://mydomain.com/designed/%postname%
I can figure out how to do only one rewrite of this type, but WP doesn't have built in functionality to do both. I'm just wondering where I should start or what I should do...
The problem also becomes, I want to retain category functionality in both areas, so maybe it needs to be achieved with Custom Fields? and add a new rewrite rule based on the custom field of a post? I have idea where to start...
Thanks for any help you can give.
This actually isn't that hard to do. I'll go down, page by page, what you would need to do to achieve this.
Articles Page
Create a new template in your theme folder (/wp-content/themes/your-theme/) called discusses.php and just add the following content:
<?php
/*
Template Name: Discusses Template
*/
?>
You don't need any more content. Go into the Pages section of WordPress Admin and create a new page called Articles page and set the URL to be /discusses/. Set the template of this page to be Discusses Template. Now, go into the Settings → Reading section in Admin and set the Posts page to Articles page. Now all your blog posts will appear under the URL /discusses/
Specific Article
The easiest way to have all your articles appearing as /discussed/title is to rename the default category (in Posts → Categories) to discussed. Then set your permalinks to be:
/%category%/%postname%/
This will render the links you need for each post.
Portfolio Page & Specific Design Page
Assuming this will be some kind of custom design, the easiest thing to do would be to create a custom template and Page in the pages section, as you did for the articles page, and throw your custom HTML and CSS into that. I would then set each specific design page to be a child page of that in the pages section. You can use the WPdb classs to make custom queries to populate the Portfolio page.

Categories