wordpress函数技巧

1.Loop循环(成功)

<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>
// the code inside the loop //插入Loop 中的代码
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>

2.在WordPress的第一篇文章中插入Google广告

<?php while ( have_posts() ): the_post(); $count++;?> 

<?php if ($count == 1) : ?>
// Insert your Google AdSense code here
<?php endif; ?> 

<?php endwhile; ?>

你同样可以改变 count值来让广告比如放在不同的日志后面,比如改成 count == 2, 则把Google广告显示在第二篇日志后面:

3.改变每个分类页面的日志显示数

你将需要打开 category.php文件并且找到下面的这行, 

在<?php if (have_posts()) : ?> 下面添加内容: 

<?php if (is_category(‘1‘)) {$posts = query_posts ($query_string.‘&showposts=1‘); } ?>
<?php if (is_category(‘16‘)) {$posts = query_posts($query_string.‘&showposts=2‘); } ?> 

“is_category()”就是分类ID,比如可以写成”is_category(’5′)”, “showposts=4″ 里面的数值就是你要显示的分类日志数。

4.给特定分类添加不同模板

如果你想给ID为 7的分类制作一个和你目前主题不一样的外观,只需在你当前主题文件夹中创建一个名为 category-7.php 的模板文件,然后自定义我喜欢的样式,WordPress 会自动查看并显示它,请注意文件名中的"-"符号。

5.为特定分类文章创建不同外观

假设你有两个分类,分别名为"News"和"Tutorials",然后你想让"News"分类里的单篇文章的外观表层为style1.css,让"Tutorials"分类里的单篇文章外观表层为 style2.css,Lorelle提供了以下这种比较简单的解决方法: 

打开single.php 文件,并删除里面的所有代码,添加以下代码: 

<?php
$post = $wp_query->post;
if ( in_category(‘9‘) ) {
include(TEMPLATEPATH . ‘/single2.php‘);
} else {
include(TEMPLATEPATH . ‘/single1.php‘);
}
?>
通常情况下,PHP会自动查询这段代码,如果日志的分类ID为9,则会自动显示single2.php,如果不是则会显示为single1.php。
注意:single1.php 和 single2.php 里的样式自定义,系统会自动判断加载不同的样式显示

6.样式化不同分类

如果你想给特定分类规定不同的样式表,你所需做的只是在 header.php 文件的标签中加入以下代码: 

<?php if ( is_category(‘15‘) ) { ?>
<link rel="stylesheet" href="<?php bloginfo(‘template_url‘); ?>/cat-15.css"
type="text/css" media="screen" />;
<?php } else { ?>
<link rel="stylesheet" href="<?php bloginfo(‘stylesheet_url‘); ?>" type="text/css"
media="screen" />
<?php } ?>

7.在某一个页面单独调用某一个php文件

如果你仅想在首页显示某个文件内容,可在index.php 文件中写入以下代码: 

<div> <?php if ( is_home() ) { include (TEMPLATEPATH.‘/test.php‘); } ?> </div>
<div> <?php if ( is_category(1) ) { include (TEMPLATEPATH.‘/test.php‘); } ?> </div>
页面显示特定内容:(取名字到 is_page(‘* ’))
<div> <?php if( is_page(‘contact‘)) { include (TEMPLATEPATH.‘/test.php‘); } ?> </div>//判断是不 contact页面
/// is_posted()

8.动态标题以实现更友好的SEO

替换:header.php 内 <title><?php bloginfo(‘name‘); wp_title(); ?></title>
<?php
 if (is_home()) { echo bloginfo(‘name‘); }
 elseif (is_404()) { bloginfo(‘name‘); echo ‘ - Oops, this is a 404 page‘; }
 else if ( is_search() ) { bloginfo(‘name‘); echo (‘ - Search Results‘);}
 else { bloginfo(‘name‘); echo (‘ - ‘); wp_title(‘‘); }
?>

9.动态显示菜单:根据分类及页面类型显示相应条目

<!--Begin an unordered list the ID is for the bookmark, the class is for the style
 (so I can have other lists with the same styling as seen on RedScrubs.com)-->
 <ul id="nav" class="btn">
<!--IF the current page is the 404 page, note the added error class-->
 <?php if(is_404()) { ?>
 <li class="current_page_item error"><a href="#">404 Error</a></li>
 <?php } ?>
 <!--IF the current page is the search results page-->
 <?php if(is_search()) { ?>
 <li class="current_page_item"><a href="#">Search Results</a></li>
 <?php } ?> 

<!--IF the current page is a single post-->
 <?php if(is_single()) { ?>
 <li class="current_page_item"><a href="#">Selected Article</a></li>
 <?php } ?>

10.动态显示高亮显菜单

动态加载css样式:
<ul id="nav">
 <li<?php if ( is_home() || is_category() || is_archive() || is_search() || is_single() || is_date() ) { echo ‘ class="current"‘; } ?>><a href="#">Gallery</a></li>
 <li<?php if ( is_page(‘about‘) ) { echo ‘ class="current"‘; } ?>><a href="#">About</a></li>
 <li<?php if ( is_page(‘submit‘) ) { echo ‘ class="current"‘; } ?>><a href="#">Submit</a></li>
</ul>

11.自定义顶部导航

<ul id="nav">
 <li <?php if ( is_home() || is_category() || is_archive() || is_search() || is_single() || is_date() ){ echo ‘ class="current"‘; } ?>><a href="<?php bloginfo(‘url‘); ?>">首页</a></li>
 <li <?php if ( is_page(‘about‘) ) { echo ‘ class="current"‘; } ?>> <a href="<?php echo ‘/index.php/about‘ ; ?>">关于</a> </li>
 <li <?php if ( is_page(‘liuyan‘) ) { echo ‘ class="current"‘; } ?>> <a href="<?php echo ‘/index.php/liuyan‘ ; ?>">留言板</a> </li></ul>

12.查询文章

Query_posts(查询文章?)能被用来显示特定文章,你所需做只是你一个模板文件的 Loop开始之前调用函数 只显示某个分类中的文章
如果你想显示某个特定分类的一定目录的文章
<?php query_posts(‘cat=15&showposts=10‘); ?> //这里则会显示分类ID为15的最新10篇文章。 从首页移除特定分类
<?php if (is_home()) { query_posts("cat= -3"); } ?> //从主页上移除分类为3的所有日志。
检索某篇文章
<?php query_posts(‘p=3‘); ?> 只显示post-id为3的页面。

13.query_posts() 函数的一些常见用法

是page 而不是post
<?php
query_posts(‘page_id=1‘); // 只显示id=1的页面
query_posts(‘pagename=about); // 只显示页面名字叫 about的页面
?> 

获取文章 get_posts是一个简单的你可利用多循环以不同方式罗列文章的标签,例如你想罗列最新的5个条目,代码可如下:
<div>
 <h2> 最新文章</h2>
 <?php
 $previous_posts = get_posts(‘numberposts=5‘);
 foreach($previous_posts as $post) :
 setup_postdata($post);
 ?>
 <li><a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a></li> 

<?php /*?><?php the_content(); ?><?php */?>
  <?php endforeach; ?>
 </div>
  上面的代码中变量"numberposts=?"则告诉 WordPress 在循环里索引和填充多少文章,WordPress文章格式函数setup_postdata()将会自动填充所需函数!

14.如何按分类和按月显示一个Archvies存档页面

<?php while(have_posts()) : the_post(); ?>
<ul><?php wp_get_archives(‘type=monthly&show_post_count=1‘) ?></ul>
<ul><?php wp_list_cats(‘sort_column=name&optioncount=1‘) ?></ul> 

<?php endwhile; ?>
使用wp_list_cats 标签显示一个按分类排列的WordPress 存档列表和 wp_get_archives 显示基于日期的存档列表。

15.页面模板头部声明

<?php/*
Template Name: Gallery
*/
?>

16.为不同的分类指定不同的图像

<?php if (is_category(‘1‘) ): ?>
<img src=‘<?php bloginfo(‘template_url‘); ?>/01.bmp‘ alt=‘‘ />
<?php elseif (is_category(‘16‘) ): ?>
<img src=‘<?php bloginfo(‘template_url‘); ?>/16.bmp‘ alt=‘‘ />
<?php endif; ?>
is_paged() : 主页/Category/Archive页是否以多页显示 :这里是指是否是分页的第 2,3,4,,,,页。
!is_paged() 是指分页的第一页 

17.如何添加幻灯片 banner广告

在开始之前我们需要先下载 SmoothGallery 2.0 

1) 将所需文件放到合适的地方,解压下载到的smoothgallery
将解压得到的css文件夹复制到wordpress 目录wp-content/themes/your_theme_name
将scripts 文件夹复制到wp-content/themes/your_theme_name 

2) 在 header.php里添加: 

<script type="text/javascript" src="<?php
bloginfo(‘template_url‘); ?>/huandeng/scripts/mootools.v1.11.js"></script>
<!--<!–JS SmoothGallery–>-->
<script type="text/javascript" src="<?php
bloginfo(‘template_url‘); ?>/huandeng/scripts/jd.gallery.js"></script>
<?php /*?><?php wp_head();?><?php */?>去掉此行,不然不能实现。不知道什么原因?
wp_head();里面是其他插件里面的样式或者是其他调用代码,如果去掉此行的话将无法显示了,所以只能把他们所需要的代码直接写进主题的样式模板内进行统一调用。可以解决问题。 

3) 新建一个文件huandeng.php 添加代码:
<!-- Initialization of SmoothGallery-->
<script type="text/javascript">
 function startGallery() {
 var myGallery = new gallery($(‘myGallery‘), {
 timed: false
 });
 }
 window.addEvent(‘domready‘,startGallery);
 </script>
<!-- Creation of the html for the gallery -->
 <div class="content">
 <div id="myGallery">
 <div class="imageElement">
 <h3>Item 1 Title</h3>
 <p>Item 1 Description</p>
 <a href="#" title="open image" class="open"></a>
 <img src=‘ <?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/1.jpg‘ class="full" />
 <img src=‘<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/1-mini.jpg‘ class="thumbnail" />
</div>
 <div class="imageElement">
 <h3>Item 2 Title</h3>
 <p>Item 2 Description</p>
 <a href="#" title="open image" class="open"></a>
 <img src=" <?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/2.jpg" class="full" />
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/2-mini.jpg" class="thumbnail" />
 </div>
 <div class="imageElement">
 <h3>Item 3 Title</h3>
 <p>Item 3 Description</p>
 <a href="#" title="open image" class="open"></a>
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/3.jpg" class="full" />
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/3-mini.jpg" class="thumbnail" />
 </div>
 <div class="imageElement">
 <h3>Item 4 Title</h3>
 <p>Item 4 Description</p>
 <a href="#" title="open image" class="open"></a>
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/4.jpg" class="full" />
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/4-mini.jpg" class="thumbnail" />
 </div>
 <div class="imageElement">
 <h3>Item 5 Title</h3>
 <p>Item 5 Description</p>
 <a href="#" title="open image" class="open"></a>
 <img src="/huandeng/images/brugges2006/5.jpg" class="full" />
 <img src="/huandeng/images/brugges2006/5-mini.jpg" class="thumbnail" />
 </div>
 <div class="imageElement">
 <h3>Item 6 Title</h3>
 <p>Item 6 Description</p>
 <a href="#" title="open image" class="open"></a>
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/6.jpg" class="full" />
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/6-mini.jpg" class="thumbnail" />
 </div>
<div class="imageElement">
 <h3>Item 7 Title</h3>
 <p>Item 7 Description</p>
 <a href="#" title="open image" class="open"></a>
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/7.jpg" class="full" />
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/7-mini.jpg" class="thumbnail" />
 </div>
 <div class="imageElement">
 <h3>Item 8 Title</h3>
 <p>Item 8 Description</p>
 <a href="#" title="open image" class="open"></a>
 <img rc="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/8.jpg" class="full" />
 <img src="<?php
bloginfo(‘template_url‘); ?>/huandeng/images/brugges2006/8-mini.jpg" class="thumbnail" />
 </div>
 </div>
 </div>
</div>
4) 在需要引用的地方添加以下代码:(不知道什么原因调用 huandeng.php代码后,此区域将脱离文件流,而且没有办法让它归位,只能将其直接写入 index.php文件内部) 

<?php include(TEMPLATEPATH.‘/huandeng.php‘); ?> 

这里面有一个 5) 自定义gallery的具体显示效果。
打开文件wp-content/themes/your_theme_name/css/jd.gallery.css,在这里修改gallery的宽和高。(通过修改jd.gallery.css完全对这个slideshow 根据自己的主题进行个性化。^_^) 

#myGallery, #myGallerySet, #flickrGallery
{
width: 590px;
height: 250px;
z-index:5;
border: 1px solid #000;
} 

默认的字号对于中文太小了,可以调整 slideshow 下方信息栏的高度及文字的字号,只需要修改
.jdGallery .slideInfoZone(滑动信息栏高度、颜色等参数)
.jdGallery .slideInfoZone h2(信息栏内标题样式)
jdGallery .slideInfoZone p(信息栏文本样式) 

*上滑动栏宽度;
.jdGallery .carousel
{
 position: absolute;
 width: 100%;
 margin: 0px;
 left: 0;
 top: 0;
 height: 90px;/*上滑动栏宽度;*/
 background: #333;
 color: #fff;
 text-indent: 0;
 overflow: hidden;
}
你还可以修改 wp-content/themes/your_theme_name/scripts/jd.gallery.js 来改变 gallery 的展示效果(Smooth Gallery提供了多种不同的显示效果,你可以根据需要进行修改)

18.5个你不知道的 Wordpress函数

1. wp_mail()基本上是一个超级简单的函数,允许你通过一些简单的代码轻松
地向任何人发送电子邮件。例如:
<?php
$to = ‘[email protected]‘;
$subject = ‘Hello from my blog!‘;
$message = ‘Check it out -- my blog is emailing you!‘
$mail = wp_mail($to, $subject, $message);
if($mail) echo ‘Your message has been sent!‘;
else echo ‘There was a problem sending your message. Please try again.‘;
?>
2. wp_loginout():主题中显示“登录”链接
3. clean_url():入 URL并测试它的结构是否正确。如果链接前面缺少 http://
它可以自动添加,转换符号为正确的 HTML,
4. wpautop() :这个函数用来转换换行符字符串为<br />标记,并把双换行符
作为一个新的段落的开始,在前一段加入</p>,并在新的段落加上<p>。
时间: 2024-10-30 07:43:35

wordpress函数技巧的相关文章

WordPress函数query_posts用法汇总

最近经常有网友跟我咨询WordPress函数query_posts的相关用法,说起来query_posts实在是太强大,参数无数,用法更是无数,如果让我说它的用法,我根本没法一一说清楚.开始之前,你可以先看看query_posts的官方文档,query_posts的全部参数可以参考:WP_Query.不过看文档对很多人来说可能会很困难,本文将介绍几种常见的用法,不过一切用法都是从官方文档中来的,学会看文档才是王道. query_posts函数在WordPress主题中是用于控制哪些文章可以出现在

python小型函数技巧积累

preface:在前进的路上遇到的python各种小函数技巧积累. enumerate:枚举 format:格式化输出. 对字符串进行输出时,print加逗号可破,但当字符串变量多了起来的时候,同字符串常量放在一起,逗号就变多了.不太方便.通过format类进行格式化,将变量都放在一起,能够更加方便地控制输出格式.具体的fomat语法说明网上博客也是一大堆,如http://www.2cto.com/kf/201312/262068.html,稍微提到的一些.当然,还有最重要的官网的资料的了:ht

wordpress函数wp_nav_menu()参数说明

wordpress函数wp_nav_menu()参数说明 wp_nav_menu()函数是在wordpress 3.0版本增加的一个自定义菜单函数,通过该函数可以非常轻松方便地自定义模板的导航菜单,站长只需要在当前主题模板导航显示的位置添加函数<?php wp_nav_menu($args);?>就可以实现自定义菜单的调用,其中$args是该函数的参数,以下同参数的具体说明,可以根据自己的需要设置各项参数! wp_nav_menu()函数默认参数及说明: 1 2 3 4 5 6 7 8 9 1

WordPress函数:wp_nav_menu($args)函数说明

WordPress函数 wp_nav_menu()用于显示头部.标题.底部的导航菜单.后台设置位于:外观=>菜单.目前支持 3 个菜单选项. 函数使用说明: <?php $defaults = array(    'theme_location'  => '',>    'menu'            => '',    'container'       => 'div',    'container_class' => 'menu-{menu slug}-

10个鲜为人知的WordPress函数

WordPress功能强大,非常适合开发者使用.说到 WordPress,那么,我们不得不说他的钩子函数.今天,要为大家推荐10个WordPress函数.大多数,都是我们常用的功能,不过,经常不知道如何去实现他.所以,我建议你可以看一看. Antispambot() 使用该函数代替HTML标题,可以让你的email地址不被过滤掉. $email= '[email protected]'; echo'You can contact me at '. antispambot( $email) . '

解决wordpress函数get_term_link()参数使用变量无效的问题

做wordpress开发时,需要通过后台设置的某个自定义分类法ID获取该分类的链接,传递ID的变量给get_term_link()函数时,却无法获取该分类的链接.通过查找资料获悉是由于get_term_link()函数和其它常用的wordpress函数不同,该函数不能自行转换变量类型,解决方法是先把字符类变量转换成整数变量才可以正常获取链接. 解决方法: 设定变量是$getID,代码如下: 1 2 3 4 5 <?php $id = intval($getID); $url = get_term

黄聪:WordPress 函数:apply_filters()(创建过滤器)

apply_filters() 函数用来创建一个过滤器,大多数被用在函数中,是 WordPress 插件机制中非常重要的一个函数,能让其它的主题和插件对一个值进行修改过滤. 用法 apply_filters( $tag, $value, $var... ); 参数 $tag (字符串)(必须)过滤器的名字. 默认值:None $value (混合)(必须)要过滤的值,如果没人过滤则直接返回这个值. $var (混合) (可选)传给过滤函数额外的变量参数,辅助过滤函数对返回值进行操作,可以添加无限

wordpress函数

主题文件构成: 主页: home.php index.php 文章页: single-{post_type}.php – 如果文章类型是videos(即视频),WordPress就会去查找single-videos.php(WordPress 3.0及以上版本支持) single.php index.php 页面 自定义模板 – 在WordPress后台创建页面的地方,右侧边栏可以选择页面的自定义模板 page-{slug}.php – 如果页面的缩略名是news,WordPress将会查找 p

黄聪:WordPress 函数:add_filter()(添加过滤器)

add_filter() 可以挂载一个函数到指定的过滤器上. 用法 add_filter( $tag, $function_to_add, $priority, $accepted_args ); 参数 $tag (字符串)(必须)所挂载的过滤器名字(和目标 apply_filters() 函数的 $tag 属性一样). 默认值:None $function_to_add (回调)(必须)要挂载的回调函数,参考 PHP 回调函数类型文档. 默认值:None $priority (整数)(可选)执