Difference between revisions of "Week Ten (MGDP2060)"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(→‎See also)
(Replaced content with "This article lists topics for Week Ten of Web Design and Development III (MGDP2060). Category:Web Design and Development III (MGDP2060)")
Line 1: Line 1:
−
This article lists topics for week ten of [[Web Design and Development III (MGDP2060)]].
+
This article lists topics for Week Ten of [[Web Design and Development III (MGDP2060)]].
  
−
== wordpress.htcwebcreative.com ==
 
  
−
A class version of WordPress is now viewable online here:
 
−
 
−
* http://wordpress.htcwebcreative.com/wordpress
 
−
 
−
Wiki page from Dreamhost about configuring WordPress:
 
−
 
−
* http://wiki.dreamhost.com/WordPress_wp-config
 
−
 
−
== Simple custom theme ==
 
−
 
−
Last week, we created a simple custom theme.
 
−
 
−
* <code>style.css</code>
 
−
* <code>index.php</code>
 
−
 
−
== Theme development using multiple theme folders ==
 
−
 
−
When creating a custom theme, you can structure your work work as several different custom themes, each representing a different stage in the development of your final theme.
 
−
 
−
That way, you can look back on previous stages of development, comparing your current theme with earlier versions.
 
−
 
−
This is often helpful, for novice and experienced developers alike.
 
−
 
−
If something goes wrong with your current version, you can examine the previous version, figure out how to fix your current version.  Previous versions are also useful as a source of code samples which can be copied-and-pasted.
 
−
 
−
Creating a new version is easy:
 
−
 
−
* Create a copy of the current theme folder, with a different folder name
 
−
** Pick folder names that indicate version, e.g. <code>MyTheme1</code>, <code>MyTheme2</code>,
 
−
* In the copy, in <code>style.css</code>, change the Theme Name.
 
−
 
−
One alternative is to keep modifying one custom theme until it is complete.
 
−
 
−
* What other alternatives might you consider?
 
−
 
−
== WordPress CSS ==
 
−
 
−
As we saw last week, you can hard-code <code>links</code> <code>style</code> directly into your theme (in <code>header.php</code>).
 
−
 
−
Hard-coding is a hack -- a temporary solution, in this case as a classroom example, to demonstrate how WordPress works.
 
−
 
−
The proper solution is to do it the WordPress way:
 
−
 
−
* In <code>style.css</code>
 
−
* In other external style sheet(s), the WordPress way
 
−
 
−
== style.css ==
 
−
 
−
Every theme must have a <code>style.css</code> file.
 
−
 
−
WordPress uses this <code>style.css</code> to identify the name of the theme.
 
−
 
−
<code>style.css</code> can also contain CSS rules, although this is not required.
 
−
 
−
== index.php ==
 
−
 
−
Every theme must have a file named <code>index.php</code>.
 
−
 
−
<code>index.php</code> is a [[Template (WordPress) template]] file.
 
−
 
−
Other template files are optional.  But every theme must have <code>index.php</code>.
 
−
 
−
Think of <code>index.php</code> as the "Home page"  -- and every other page -- for your WordPress site.
 
−
 
−
== Sub-templates: header.php and footer.php ==
 
−
 
−
Most themes use a "sub-template" file named <code>header.php</code>, and another named <code>footer.php</code>.
 
−
 
−
Template files such as <code>index.php</code> incorporate the sub-templates into their own template using the <code>include()</code> statement.
 
−
 
−
<code>sidebar.php</code> is another commonly used sub-template.
 
−
 
−
There are two ways to use sub-templates.  They do the same thing.
 
−
 
−
=== Using include() ===
 
−
 
−
PHP provides an <code>include()</code> function, which causes another file to be included (its contents inserted) where the <code>include()</code> function appears.
 
−
 
−
<pre>
 
−
<?php include ('header.php'); ?>
 
−
 
−
    <h1><?php bloginfo('name'); ?></h1>
 
−
<p>Lorem ipsum ...</p>
 
−
<h2The Loop:</h2>
 
−
<?php
 
−
if (have_posts()) :
 
−
  while (have_posts()) :
 
−
  the_post();
 
−
    the_content();
 
−
  endwhile;
 
−
endif;
 
−
?>
 
−
 
−
<?php include ('footer.php'); ?>
 
−
</pre>
 
−
 
−
=== Using get_header() and get_footer() ===
 
−
 
−
WordPress provides two functions, <code>get_header()</code> and <code>get_header()</code>, as a convenience.
 
−
 
−
These do the same thing as <code>include()</code>.
 
−
 
−
<pre>
 
−
<?php get_header(); ?>
 
−
 
−
    <h1><?php bloginfo('name'); ?></h1>
 
−
<p>Lorem ipsum ...</p>
 
−
<h2The Loop:</h2>
 
−
 
−
<?php
 
−
if (have_posts()) :
 
−
  while (have_posts()) :
 
−
  the_post();
 
−
    the_content();
 
−
  endwhile;
 
−
endif;
 
−
 
−
        get_footer();
 
−
?>
 
−
 
−
</pre>
 
−
 
−
== header.php ==
 
−
 
−
A simple <code>header.php</code> looks something like this:
 
−
 
−
<pre>
 
−
<!DOCTYPE html>
 
−
<html <?php language_attributes(); ?>>
 
−
    <head>
 
−
        <meta charset="<?php bloginfo( 'charset' ); ?>" />
 
−
        <title><?php wp_title(); ?></title>
 
−
        <link rel="profile" href="http://gmpg.org/xfn/11" />
 
−
        <link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>" type="text/css"
 
−
media="screen" />
 
−
        <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
 
−
        <?php if ( is_singular() && get_option( 'thread_comments' ) )
 
−
wp_enqueue_script( 'comment-reply' ); ?>
 
−
        <?php wp_head(); ?>
 
−
    </head>
 
−
<body>
 
−
<header>
 
−
</header>
 
−
 
−
<!-- End header.php -->
 
−
</pre>
 
−
 
−
== The loop ==
 
−
 
−
WordPress has a principle called the loop.
 
−
 
−
The loop allows you do have one HTML design which is displayed repeatedly ("looped") for multiple blog posts (or multiple custom posts).
 
−
 
−
<pre>
 
−
<?php
 
−
if (have_posts()) :
 
−
  while (have_posts()) :
 
−
  the_post();
 
−
    the_content();
 
−
  endwhile;
 
−
endif;
 
−
?>
 
−
</pre>
 
−
 
−
== footer.php ==
 
−
 
−
A simple <code>footer.php</code> looks something like this:
 
−
 
−
<pre>
 
−
<!-- footer.php -->
 
−
<footer></footer>
 
−
</body>
 
−
</html>
 
−
 
−
</pre>
 
−
 
−
== Terminology ==
 
−
 
−
* [[Boilerplate code]]
 
−
* [[Lorem ipsum]]
 
−
 
−
== See also ==
 
−
 
−
* [[Web Design and Development III (MGDP2060)]]
 
  
 
[[Category:Web Design and Development III (MGDP2060)]]
 
[[Category:Web Design and Development III (MGDP2060)]]

Revision as of 11:53, 20 August 2016

This article lists topics for Week Ten of Web Design and Development III (MGDP2060).