Saya memperkenalkan anda kepada "Keseluruhan proses pengeluaran tema WordPress (4): Satu ujian kecil ". .php" , mari kita lihat bersama-sama~
Anda boleh cuba menggunakan editor teks untuk membuka fail yang dimuat turun daripada Proses pengeluaran tema WordPress (3): Pengeluaran templat statik HTML .html
, saya tertanya-tanya adakah anda perasan bahawa kod dalam pengepalanya sangat serupa? Malah, kami boleh mengekstrak bahagian kod yang serupa ini dan memasukkannya ke dalam fail berasingan header.php
Apabila setiap halaman ingin menggunakan bahagian kod ini, gunakan include()
atau WordPress get_header()
untuk memasukkannya, menyimpan setiap. halaman. Bahagian kod ini mesti ditulis dalam halaman, dan ia boleh diubah suai untuk mencapai tujuan perubahan lengkap.
Ingatkan saya sekali lagi: Jika anda tidak bercadang untuk menulis kod, jangan baca siri tutorial ini, ia tidak akan membantu anda!
Kemudian buat fail php baharu wp-contentthemesAurelius
dalam direktori tema yang kami buat kali terakhir header.php
Kami mengekstrak kod pengepala dalam index.php
dan salin dan tampalkannya ke dalam header.php
, seperti berikut Kod. ialah semua kod pada masa ini dalam header.php
(sudah tentu kod pengepala tema yang berbeza adalah berbeza, anda boleh menyesuaikannya dalam projek sebenar anda):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Aurelius | Blog</title> <!-- Stylesheets --> <link rel="stylesheet" href="./style.css" type="text/css" media="screen" /> </head> <body> <div id="wrapper" class="container_12 clearfix"> <!-- Text Logo --> <h1 id="logo" class="grid_4">Aurelius</h1> <!-- Navigation Menu --> <ul id="navigation" class="grid_8"> <li><a href="contact.html"><span class="meta">Get in touch</span><br /> Contact Us</a></li> <li><a href="blog.html" class="current"><span class="meta">Latest news</span><br /> Blog</a></li> <li><a href="index.html"><span class="meta">Homepage</span><br /> Home</a></li> </ul> <div class="hr grid_12 clearfix"> </div> <!-- Caption Line --> <h2 class="grid_12 caption clearfix">Our <span>blog</span>, keeping you up-to-date on our latest news.</h2> <div class="hr grid_12 clearfix"> </div>
Kemudian gunakan teks editor untuk membuka index.php
, archive.php
, contact.php
, full_width.php
, page.php
dan single.php
, padamkan kod serupa di atas dan tukar kepada:
<?php get_header(); ?>
Baik, sekarang buka laman utama blog ujian anda untuk melihat sama ada tema yang kami buat masih boleh berfungsi seperti biasa. get_header()
adalah bersamaan dengan menyalin kod dalam header.php
ke fail php semasa. Seterusnya, kami akan melihat dengan lebih dekat kandungan dinamik dalam header.php
. header.php
akan disertakan dalam semua halaman templat (halaman utama, halaman kategori, halaman, halaman teg, dll.), jadi kod dalam header.php
hendaklah dinamik dan sesuai untuk halaman yang berbeza, jadi kod PHP perlu digunakan di sini , dan Bukan hanya HTML. Mari kita ubah suai header.php
bersama-sama:
Kita semua tahu bahawa tajuk halaman yang berbeza adalah berbeza, dan tajuk Tetapan akan. juga secara langsung mempengaruhi kesan SEO, jadi tetapan harus dibuat dengan teliti di sini. Yang berikut menyediakan kaedah penulisan tajuk yang dioptimumkan SEO Tukar <title>Aurelius | Blog</title>
kepada:
<title><?php if ( is_home() ) { bloginfo('name'); echo " - "; bloginfo('description'); } elseif ( is_category() ) { single_cat_title(); echo " - "; bloginfo('name'); } elseif (is_single() || is_page() ) { single_post_title(); } elseif (is_search() ) { echo "搜索结果"; echo " - "; bloginfo('name'); } elseif (is_404() ) { echo '页面未找到!'; } else { wp_title('',true); } ?></title>
Kod PHP yang ditambahkan di atas menggunakan pertimbangan bersyarat dan menggunakan tajuk yang berbeza untuk halaman yang berbeza.
is_home()
: Mengembalikan benar apabila halaman semasa ialah halaman utama is_category()
: Mengembalikan benar apabila halaman semasa ialah halaman kategori is_single()
: Halaman semasa Kembali benar apabila halaman artikel tunggalis_page()
: Kembali benar apabila halaman semasa ialah halaman tunggalSetakat ini, anda mungkin tidak mempunyai pemahaman yang mendalam tentang teg penghakiman bersyarat ini, dan saya tidak faham cara penggunaan teg ini akan mempengaruhi tema Apabila tutorial kami melangkah lebih jauh, anda akan faham secara perlahan. Jika anda tidak menyukai cara tajuk ditulis di atas, anda boleh mencari kod yang berkaitan dalam talian: WordPress SEO title
Sebelum ini anda Halaman utama yang saya lihat semuanya kucar-kacir kerana gaya css belum dimuatkan lagi. Sekarang mari kita tambah gaya bersama-sama. Anda boleh menemui sekeping kod ini dalam header.php
:
<link rel="stylesheet" href="./style.css" type="text/css" media="screen" />
Jika anda bijak, anda boleh bertanya: Bukankah sudah ada wp-contentthemesAurelius
dalam style.css
direktori? Jadi mengapa header.php
tidak memuatkan css? Seperti yang anda boleh lihat hasilnya, halaman berada dalam keadaan kucar-kacir, dan anda boleh yakin bahawa css tidak dimuatkan. Kerana ini adalah tema WordPress, ia perlu dipanggil oleh program utama WordPress, dan blog anda boleh dipaparkan selepas lapisan analisis, dan bukannya fail halaman web statik html yang mudah. Pengubahsuaian yang betul:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
bloginfo('stylesheet_url')
输出的是你的主题css文件绝对网址,如http://localhost/wp/wp-content/themes/Aurelius/style.css,WordPress程序会自动识别你的WordPress安装地址,当前启用的主题,自动输出这个style.css链接。现在你可以试着更改一下,然后刷新一下你的博客首页,查看网页源代码,style.css的链接是不是变成你的了?页面是否可以正常显示了呢?
如果你的css文件不是style.css,且不是在主题根目录下,那怎么办呢?我们可以用<?php bloginfo('template_url'); ?>
来获取主题根目录的URL,如你的主题css文件是abc.css
,那么我们可以这样写:<?php bloginfo('template_url'); ?>/abc.css
,如果是在子目录css下那就这样:<?php bloginfo('template_url'); ?>/css/abc.css
。同样加载js文件也是这样。
不过,还有几张图片的路径不对,还不能显示出来,现在我们一起用文本编辑器打开index.php
、archive.php
、contact.php
、full_width.php
、page.php
和single.php
,给这些图片加上正确的URL,搜索代码,将所有的:src="images/
,批量替换成src="<?php bloginfo('template_url'); ?>/images/
。现在再刷新你的主页,看文章的缩略图是否可以正常显示。<?php bloginfo('template_url'); ?>
用于输出主题目录的URL。
至于什么是pingback,你可以在搜索引擎中输入关键字:WordPress pingback
,就可以得到你想要的答案了。如果你需要这个功能,可以在<head>
里面添加以下代码:
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
在header.php
,下面两行代码用于显示博客名称和描述:
<h1 id="logo" class="grid_4">Aurelius</h1> <h2 class="grid_12 caption clearfix">Our <span>blog</span>, keeping you up-to-date on our latest news.</h2>
上面是静态代码,现在做如下修改:
<h1 id="logo" class="grid_4"><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1> <h2 class="grid_12 caption clearfix"><?php bloginfo('description'); ?></h2>
现在你的博客首页看到的就是你博客名称和描述了,并且logo也是一个链接指向你的博客首页。我们这里说说这些php代码的作用。
<?php echo get_option('home'); ?>
输出你的博客首页网址<?php bloginfo('name'); ?>
输出你的博客名称<?php bloginfo('description'); ?>
输出博客描述博客名称和描述可以在WordPress管理后台 - 设置 - 常规那里更改。以后制作你自己的WordPress主题的时候,你可参照上面的说明对你的主题进行修改。
相信每个已发布的WordPress博客主题都会提供feed订阅,当然我们的主题也应该提供这样的功能。在</head>
之前添加以下代码:
<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有文章" href="<?php echo get_bloginfo('rss2_url'); ?>" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有评论" href="<?php bloginfo('comments_rss2_url'); ?>" />
有些插件需要在网页头部执行一些类如添加一些js或css的动作,要让这些插件能够正常的工作,也让你的主题有更好的兼容性,你应该添加wp_head()函数。打开header.php
,在</head>
前面添加以下代码即可:
<?php wp_head(); ?>
现在打开你的博客主页,查看源代码,</head>
前面是不是多了以下类似代码(这些都是wp_head()
的功劳):
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://ludou.co.tv/blog/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://ludou.co.tv/blog/wp-includes/wlwmanifest.xml" /> <link rel='index' href='http://ludou.co.tv' /> <meta name="generator" content="WordPress 2.9.2" />
关于添加网页描述和关键字,可以查看我之前写过的文章:WordPress使用经验(一)独立的Description 和 Keywords
目前菜单栏有Home、Blog和Contact Us几个菜单,不过这些都是静态的内容,并不是你博客上的页面。现在我们将菜单栏换成你的菜单,这里只在菜单栏中列出页面page,当然你也可以再放置分类,根据你的喜好来吧,将header.php中:
<ul id="navigation" class="grid_8"> <li><a href="contact.html"><span class="meta">Get in touch</span><br /> Contact Us</a></li> <li><a href="blog.html" class="current"><span class="meta">Latest news</span><br /> Blog</a></li> <li><a href="index.html"><span class="meta">Homepage</span><br /> Home</a></li> </ul>
改成:
<ul id="navigation" class="grid_8"> <?php wp_list_pages('depth=1&title_li=0&sort_column=menu_order'); ?> <li <?php if (is_home()) { echo 'class="current"';} ?>><a title="<?php bloginfo('name'); ?>" href="<?php echo get_option('home'); ?>/">主页</a></li> </ul>
Dua artikel berikut memperkenalkan cara membuat menu WordPress, anda juga boleh merujuk kepada:
untuk meningkatkan kecekapan menjalankan program: <body>
</head>
<?php flush(); ?>
<?php get_header(); ?>
is_home(),is_single(),is_category()
<?php bloginfo('pingback_url'); ?>
<?php bloginfo('template_url'); ?>
<?php echo get_option('home'); ?>
<?php bloginfo('name'); ?>
<?php bloginfo('description'); ?>
<?php wp_head(); ?>
<?php wp_list_categories(); ?>
<?php wp_list_pages(); ?>
) untuk melihat cara anda menukarnya? Aurelius
header.php
Pembelajaran yang disyorkan: "
Tutorial WordPressAtas ialah kandungan terperinci Seluruh proses penciptaan tema WordPress (5): membuat header.php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!