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(”);
}
?>

 

发表评论

后才能评论