SOHO建站

分类: 建站知识

WordPress调用指定标签下文章

根据wordpress指定标签,调用该标签下的文章。

<?php
$args=array(
'tag_id' => 1,
'posts_per_page' => 10,
);
//wodepress.org
query_posts($args);
if(have_posts()) : while (have_posts()) : the_post();
?>
<li>
//内容
</li>

<?php endwhile; endif; wp_reset_query();?>

为不同的页面调用不同的头部文件

为不同的页面调用不同的头部文件header.php

if ( is_front_page() ) :
get_header( 'home' );
elseif ( is_page( 'About' ) ) :
get_header( 'about' );
else:
get_header();
endif;

将以上代码加入调用的header中,会根据不同页面调用不同的header文件,分别为header-home.php与header-about.php,默认为header.php

WordPress菜单函数wp_nav_menu各参数

wordpress主题制作时,常常会在不同的位置调用不同的菜单,使用下面的这个代码,再加上CSS给菜单做新的样式,可满足wordpress模板制作时对菜单调用的所有需求。

wp_nav_menu( array(
'theme_location' => '',//导航别名
'menu' => '', //期望显示的菜单
'container' => 'div', //容器标签
'container_class' => '',//ul父节点class值
'container_id' => '', //ul父节点id值
'menu_class' => 'menu', //ul节点class值
'menu_id' => '', //ul节点id值
'echo' => true,//是否输出菜单,默认为真
'fallback_cb' => 'wp_page_menu', //菜单不存在时,返回默认菜单,设为false则不返回
'before' => '', //链接前文本
'after' => '', //链接后文本
'link_before' => '', //链接文本前
'link_after' => '',//链接文本后
'items_wrap' => '%3$s', //如何包装列表
'depth' => 0, //菜单深度,默认0
'walker' => '' //自定义walker
) );

wordpress任意位置调用指定ID页面的内容

在制作wordpress主题时,有时需要在一些位置调用一些特殊页面的内容。比如,在某个位置调用一段简介之类的。

下面的两段代码可以现实wordpress任意位置调用指定ID页面的内容。

第一种是任意位置调用wordpress指定ID页面的摘要

<?php
$post_id = 2;
echo get_post( $post_id )->post_excerpt;
?>

第二种是任意位置调用wordpress指定ID页面的正文(字数可自己设置)

<?php echo mb_strimwidth(get_page(2)->post_content,0,600); ?>

wordpress 禁止后台编辑主题

禁止后台编辑主题和插件文件,只需要在wp-config.php中添加以下代码即可。

define('DISALLOW_FILE_EDIT', true); //禁用主题编辑功能
define('DISALLOW_FILE_MODS',true); //禁用后台主题上传安装功能

wordpress调用指定栏目下的tag标签相关文章列表

<?php
global $post;
$post_tags = wp_get_post_tags($post->ID);
if ($post_tags) {
foreach ($post_tags as $tag) {
// 获取标签列表
$tag_list[] .= $tag->term_id;
}
$cat = get_the_category();
foreach($cat as $key=>$category){
$catid = $category->term_id;
}
// 随机获取标签列表中的一个标签
$post_tag = $tag_list[ mt_rand(0, count($tag_list) - 1) ];

// 该方法使用 query_posts() 函数来调用相关文章,以下是参数列表
$args = array(
'tag__in' => array($post_tag),
'cat' => $catid,  // 不包括的分类ID
'post__not_in' => array($post->ID),
'showposts' => 6,                           // 显示相关文章数量
'caller_get_posts' => 1
);
query_posts($args);

if (have_posts()) {
while (have_posts()) {
the_post(); update_post_caches($posts); ?>
<div id="post-<?php the_ID(); ?>" class="col-md-4 mb-4">
<div class="portfolio">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">

<div class="image">
<img src='<?php if ( has_post_thumbnail() ) { ?>
<?php
$large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full');
echo $large_image_url[0];
?>
<?php } else {?>
<?php bloginfo('template_url'); ?>/images/noneimg-portfolio.png
<?php } ?>' class='' alt='<?php the_title(); ?>'>
<div class="hover-effect">
<div class="hover-effect-inn"></div>
</div>
</div>
<h1><?php the_title(); ?></h1>

<p><?php the_excerpt(); ?></p>




</a>

</div>
</div>
<?php
}
}
else {
echo '<li>* 暂无相关文章</li>';
}
wp_reset_query();
}
else {
echo '<li>* 暂无相关文章</li>';
}
?>

这是wordpress模板制作中常会用到的一段代码

wordpress如何才能实现文章对游客不可见对会员可见?

wordpress实现文章对游客不可见,对会员可见,比如下面这个,用户未登陆时显示查看价格,登陆后就显示出了价格。

<?php
if ( is_user_logged_in() )
{
echo '<span class="tag">';
$user = the_field("price");
echo '<span class="small">元</span></span>';
}

else {
echo '<span class="tag"><span style="font-size:0.8em;">查看价格</span></span>';
}
?>

wordpress已知该分类id 获取分类名字和分类链接代码

<?php
echo get_cat_name( 1 ); // 根据id获取分类名
echo get_category_link( 1 ); // 根据分类id获取链接
?>

在制作wordpress模板时,有时会用到根据分类ID来调用分类名称或链接的时候,用以上这段代码即可解决。

按分类调用标签 调用指定分类下的TAG

<?php
query_posts('category_name=news');
if (have_posts()) : while (have_posts()) : the_post();
if( get_the_tag_list() ){
echo $posttags = get_the_tag_list('<li class="jquery">','</li><li>','</li>');
}
endwhile; endif;
wp_reset_query();
?>

在制作wordpress主题时,有时候会用到按分类调用标签的时候,用上面的这一段代码就可以解决。

WordPress子页面page调用父页面标题

在需要调用的页面,添加以下代码就可以现实子页面调用父页面的标题。
<?php
if($post->post_parent) {
$parent_title = get_the_title($post->post_parent);
echo $parent_title;
} else {
wp_title('');
}
?>