前言说明
WordPress博客代码知识大全,我们精心整理的常用的相关代码片段,帮助新手主题开发者快速上手,可结合《WordPress建站常用的标签和函数》,帮助你快速上手WordPress!
WordPress调用父级主题和子主题函数
获取主题目录:
get_template_directory_uri()
获取子主题目录:
get_stylesheet_directory_uri()
WordPress标签云控制方法
在主题目录下“functions.php”添加如下代码
gadd_filter( 'widget_tag_cloud_args', 'theme_tag_cloud_args' );
function theme_tag_cloud_args( $args ){
$newargs = array(
'smallest' => 4, //最小字号
'largest' => 10, //最大字号
'unit' => 'pt', //字号单位,可以是pt、px、em或%
'number' => 38, //显示个数
'format' => 'flat',//列表格式,可以是flat、list或array
'separator' => "\n", //分隔每一项的分隔符
'orderby' => 'name',//排序字段,可以是name或count
'order' => 'ASC', //升序或降序,ASC或DESC
'exclude' => 1439, //结果中排除某些标签
'include' => null, //结果中只包含这些标签
'link' => 'view', //taxonomy链接,view或edit
'taxonomy' => 'post_tag', //调用哪些分类法作为标签云
);
$return = array_merge( $args, $newargs);
return $return;
}
给WordPress自定义字段加判断
<?php if (get_field(‘wodepress’)): ?>
<?php the_field(‘wodepress’); ?>
<?php endif; ?>
注意:如果有自定义字段,显示自定义字段,如果没有自定义字段,不显示自定义字段。
wordpress搜索结果排除某个分类
<?php if ( have_posts() ) : query_posts($query_string .’&cat=-1,-2,-3′); while ( have_posts() ) : the_post(); ?>
//这是显示要调用的内容
<?php endwhile; ?>
<?php else : ?>
no wodepress.com!
<?php endif; ?>
wordpress按用户ID调用用户信息
$args = array(
'include' => array( 1, 2 )
);
// wodepress.org
$user_query = new WP_User_Query( $args );
// User Loop wodepress.org
if ( ! empty( $user_query->results ) ) {
foreach ( $user_query->results as $user ) {
echo '
' . $user->display_name . '
';
echo get_avatar( $user->ID, 120);
}
} else {
echo 'No users found.';
}
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 后台抱歉,您不能访问此页面
WordPress在修改了前缀后,在登陆后台是显示“抱歉,您不能访问此页面。”或“您有权限访问该页面”,前缀名已经批量改成了新的,但后台却无法登陆。
其实在修改前缀的时候,还有数据表内改几处表前缀,需要更改,不然就会出现以上无法登陆的情况。下面的具体修改位置与方法:
1、打开“wp_wodepress_options表”,要修改一个地方,将 option_name 字段值为“wp_user_roles”,修改为“wp_wodepress_user_roles”,与对应的您的新表前缀。
2、打开“wp_wodepress_usermeta表”,修改的地方比较多,将 meta-key 字段中有旧表前缀的值,分别改为 wp_wodepress_capabilities,wp_wodepress_usersettings,wp_wodepress_user_level,wp_wodepress_usersettingstime和 wp_wodepress_dashboard_quick_press_last_post_id,即对应的新表前缀。
WordPress菜单函数wp_nav_menu各参数
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链接中去掉category的解决方法
wordpress链接中带有category不想要如何去掉的办法:
1、后台-设置-固定链接,找到“分类目录前缀”。
2、切换输入法状态为英文,在“分类目录前缀”中录入英文的“.”保存就可以去掉链接中的category。
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获取链接
?>
按分类调用标签 调用指定分类下的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子页面page调用父页面标题
<?php
if($post->post_parent) {
$parent_title = get_the_title($post->post_parent);
echo $parent_title;
} else {
wp_title(”);
}
?>
评论(0)