ACF笔记和wordpress标签笔记

字段说明

post_object 文章对象

Repeater 复制

全局菜单

必须要用的变量 ‘option’

1
2
3
4
5
6
7
<?php echo the_field('字段名','option');?>
<?php the_field('字段名','option');?>
<?php if( have_rows('字段名','option') ):?>
<?php while ( have_rows('同上字段名','option') ) : the_row();?>
<li class="active"><span><?php the_sub_field('内字段名');?></span></li>
<?php endwhile; ?>
<?php else : endif; ?>

样式:复制

1
2
3
4
5
<?php if( have_rows('字段名') ):?>
<?php while ( have_rows('同上字段名') ) : the_row();?>
<li class="active"><span><?php the_sub_field('内字段名');?></span></li>
<?php endwhile; ?>
<?php else : endif; ?>

样式:大段内容

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php if( have_rows('字段') ): ?>
<ul class="slides">
<?php while( have_rows('同上字段') ): the_row(); ?>
<li class="slide">
<?php if( get_row_layout() == '样式' ):
$image = get_sub_field('内字段名');
?>
<?php the_sub_field('内字段标签');?>
<?php endif; ?>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

文章普通字段输出

1
2
<?php echo the_field('jiudian-jiage');?>
<?php the_field('jiudian-jiage');?>

ACF表格调用

1
2
3
4
<?php 
$tablepress_id = get_field( 'biaoge' );
echo do_shortcode( '[table id="'.$tablepress_id.'" /]' );
?>

ACF全局字段调用

the_field('chengshi-link', 'option'); ?>```
1
2

### ACF在分类页面调用文章字段

<?php global $post;
$djiage = get_field(‘jiudian-jiage’,$post->ID,false);?>
<?php echo $djiage ?>

1
2

### 文章对象

<?php $post_object = get_field(‘guanlianxiangmu’);
if( $post_object ):
// override $post
$post = $post_object;
setup_postdata( $post );
?>


<?php the_title(); ?>


Post Object Custom Field: <?php the_field(‘field_name’); ?>

<?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>

<?php $post_objects = get_field(‘post_objects’);

if( $post_objects ): ?>


    <?php foreach( $post_objects as $post): // variable must be called $post (IMPORTANT) ?>
    <?php setup_postdata($post); ?>

  • <?php the_title(); ?>
    Post Object Custom Field: <?php the_field(‘field_name’); ?>

  • <?php endforeach; ?>

<?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif;

$post_objects = get_field(‘post_objects’);

if( $post_objects ): ?>


<?php endif;?>
1
2
3
4

### 相册

#### 一

<?php

$images = get_field(‘gallery’);

if( $images ): ?>


    <?php foreach( $images as $image ): ?>


  • <?php echo $image['alt']; ?>

    <?php echo $image[‘caption’]; ?>



  • <?php endforeach; ?>

<?php endif; ?>
1
2

#### 二

<?php

$images = get_field(‘gallery’);

if( $images ): ?>



    <?php foreach( $images as $image ): ?>

  • <?php echo $image['alt']; ?>

    <?php echo $image[‘caption’]; ?>



  • <?php endforeach; ?>



<?php endif; ?>
1
2
3
4
5

参考地址:[https://www.advancedcustomfields.com/resources/gallery/](https://https://www.advancedcustomfields.com/resources/gallery/)

## wordpress
### wordpress主题头部和底部必须添加的钩子

<?php wp_footer();?>
<?php wp_head();?>

1
2
3
4

### wordpress主题位置调用

```<?php bloginfo('template_url'); ?>

wordpress调用子分类

<?php wp_list_categories('hide_empty=0&child_of=32&exclude=&title_li='); ?>

wordpress缩略图

1
2
3
4
5
6
7
8
<?php if(has_post_thumbnail()){the_post_thumbnail(array(180,130));}else{echo '<img class="small_img" src="" style="opacity: 1.1; background: rgb(255, 255, 255) none repeat scroll 0% 0%;">';}?>

the_post_thumbnail();// 没有输入参数,默认是 -> 'post-thumbnail'
the_post_thumbnail('thumbnail');// Thumbnail (默认最大是 150px x 150px)
the_post_thumbnail('medium');// Medium resolution (默认最大是 300px x 300px)
the_post_thumbnail('large');// Large resolution (默认最大是 640px x 640px)
the_post_thumbnail('full');// Full resolution (原始上传图片的大小)
the_post_thumbnail( array(100,100));// 其他尺寸

wordpress获取指定分类链接方法

<?php $catlink=get_category_link(12); echo $catlink ?>

wordpress判断当前分类输出下级分类

1
2
3
4
5
6
7
<?php
$cat= single_cat_title('', false);
$catid = get_cat_ID($cat);
if($catid == 14){$catid = 10;};
wp_list_categories('hide_empty=0&child_of='.$catid.'&exclude=&title_li=');

?>

wordpress在任意页面调用指定分类的文章

1
2
3
4
5
<?php
query_posts('showposts=6&cat=6');
while(have_posts()) : the_post();
?>
<?php endwhile; ?>

wordpress教程

我们在制作wordpress主题的时候喜欢在调取中文分类名的时候也想自动显示这个分类名的英文名,比如说企业新闻这块,我们想显示出news的别名出来,那么在wordpress主题中,实现这个功能还是十分简单的,那么大家就仔细看教程咯!
category函数
通常我们在调取分类的名称和链接的时候是直接使用

1
<?php the_category(); ?>

但是从中带来的问题是,不能只获取分类的名称,必须是分类的名称和链接的,那么我们这个时候就需要用到

1
<?php single_cat_title(); ?>

那么我们想调用文章页所在的分类的分类名的话,使用方法有几种

代码⑴

1
2
3
4
5
6
<?php
foreach((get_the_category()) as )
{
echo ->cat_name;

?>}

代码⑵

1
2
3
4
<?php
= get_the_category();
echo [0]->cat_name;
?>

代码⑶

1
<?php  = get_category(); echo  ->name;?>

别名

说到现在,我们都是在获取分类名,回归到重点,下面说下分类别名的获取方法是:

1
2
3
4
5
if(is_category()) {
= get_query_var('cat');
= get_category();
echo "该分类别名为" . ->slug;
}
或者试试:

<?php = get_category();echo ->slug;?>

分类页面里:

<?php if(is_category()) { = get_query_var('cat'); = get_category();echo "" . ->slug; ?> }

PAGE页面里:

<?php if( is_page() ){ = . get_option('display_copyright_text'); = get_post(->ID, ARRAY_A); echo = ['post_name']; ?> }

1
2
3
4
5
6
7
8
9
10
11
12
<?php bloginfo('name'); ?> : 名称(Title)   
<?php bloginfo('stylesheet_url'); ?> : CSS 文件路径
<?php bloginfo('pingback_url'); ?> : PingBack Url
<?php bloginfo('template_url'); ?> : 模板文件路径
<?php bloginfo('version'); ?> : WordPress 版本
<?php bloginfo('atom_url'); ?> : Atom Url
<?php bloginfo('rss2_url'); ?> : RSS 2.o Url
<?php bloginfo('url'); ?> : Url
<?php bloginfo('html_type'); ?> : 网页Html 类型
<?php bloginfo('charset'); ?> : 网页编码
<?php bloginfo('description'); ?> : 描述
<?php wp_title(); ?> : 特定内容页(Post/Page)的标题
自定义文章模板
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//定义模板文件所在目录为 single 文件夹
define(SINGLE_PATH, TEMPLATEPATH . '/single');
//自动选择模板的函数
function single_template($single) {
global $wp_query, $post;
//通过分类别名或ID选择模板文件
foreach((array)get_the_category() as $cat) :
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';
endforeach;
}
//通过 single_template 钩子挂载函数
add_filter('single_template', 'single_template');
自定义字段调用
1
2
3
4
5
6
7
8
9
<?php 
$banquan_yiwen = get_post_meta($post->ID, 'banquan_yiwen', true);
// 检查这个字段是否有值
if (empty ( $banquan_yiwen )) {
$banquan_yiwen = '';
} else {
echo '<span>译文申明: '. $banquan_yiwen .'</span>';
}
?>