목차
WordPress中编写自定义存储字段的相关PHP函数解析,
您可能感兴趣的文章:
백엔드 개발 PHP 튜토리얼 WordPress中编写自定义存储字段的相关PHP函数解析,_PHP教程

WordPress中编写自定义存储字段的相关PHP函数解析,_PHP教程

Jul 12, 2016 am 09:02 AM
wordpress 필드

WordPress中编写自定义存储字段的相关PHP函数解析,

WordPress 的自定义字段就是文章的 meta 信息(元信息),利用这个功能,可以扩展文章的功能,是学习 WordPress 插件开发和主题深度开发的必备知识,方便给文章储存一些额外的自定义内容。

自定义字段不光给插件开发者使用,WordPress 的特色图像、自定义页面模板等功能的信息都储存在自定义字段的表单里边。

在文章编辑器界面的 “自定义栏目” 板块可以管理除了名字开头是 “_” 的字段(没有 “自定义栏目” 板块请在右上角的 “显示选项” 开启),所以很多 WordPress 自己使用的自定义字段无法在此管理。
存储原理

自定义字段非常灵活,首先来说一下它的储存原理和为什么这么灵活。数据库中,储存文章的 wp_posts 表单,只有默认的 20 个项目,用于储存必须的文章信息。

20151225143034327.png (332×620)

而存储自定义字段的 wp_postmeta 表,却只有四个项目,分别是 meta_id(自定义字段的 ID)、post_id(自定义字段属于的文章的 ID)、meta_key(自定义字段的名字)和 meta_value(自定义字段的值),一般我们只需要注意 meta_key 和 meta_value 两个项目即可。

正是因为这样,每篇文章都可以有相同名字但不同值的自定义字段,而且可以有无限个自定义字段,任何的插件和主题都可以利用自定义字段对文章信息进行扩展。

一篇文章的自定义字段的名字是可以重复的。

添加字段

自定义字段可以在文章编辑页面操作,但本文主要写关于开发的事情。

20151225143103462.png (832×428)

添加自定义字段,可以使用 add_post_meta() 函数:

add_post_meta( $post_id, $meta_key, $meta_value, $unique );
로그인 후 복사

参数:

$post_id

(整数)(必须)添加自定义字段的文章的 ID.

默认值:None

$meta_key

(字符串)(必须)自定义字段的名称。

默认值:None

$meta_value

(混合)(必须)自定义字段的值。

默认值:None

$unique

(布尔)(可选)如果已经有相同名字的字段,是否重复添加。True 允许;False 不允许。

默认值:False

更新字段

要更新一个字段的值,可以使用 update_post_meta() 函数:

update_post_meta( $post_id, $meta_key, $meta_value, $prev_value );
로그인 후 복사

参数:

$post_id

(整数)(必须)更新自定义字段的文章的 ID.

默认值:None

$meta_key

(字符串)(必须)更新的自定义字段的名称。

默认值:None

$meta_value

(混合)(必须)更新的自定义字段的值。

默认值:None

$prev_value

(混合)(可选)此参数只有在一篇文章有多个相同名称的自定义字段时才有用。如果留空,则更新所有同名的字段,否则则更新和此参数值相同的值的字段。

默认值:空字符串

获取字段

获取字段可以使用 get_post_meta() 函数:

get_post_meta( $post_id, $key, $single );
로그인 후 복사

参数:

$post_id

(整数)(必须)要获取字段的文章 ID,如果在循环中,可以使用 get_the_ID() 来设置。

默认值:None

$key

(字符串)(可选)要获取的字段的名称。

默认值:None

$single

(布尔)(可选)如果为 True 则返回一个字符串;如果为 False 则返回数组,且相同键值的自定义字段的值会按照添加顺序组合成一个序列数组。

默认值:False

例子

下边是一个浏览统计的简单例子:

function Bing_statistics_visitors( $cache = false ){
  if( !is_singular() ) return;
  global $post;
  $id = $post->ID;
  if( get_post( $id )->post_status != 'publish' ) return;
  $post_views = (int) get_post_meta( $id, 'views', true );
  update_post_meta( $id, 'views', ( $post_views + 1 ) ) || add_post_meta( $id, 'views', 1, true );
}
add_action( 'wp_head', 'Bing_statistics_visitors' );
로그인 후 복사
获取计数:
function Bing_get_views(){
  global $post;
  $views = number_format( (int) get_post_meta( $post->ID, 'views', true ) );
  return $views;
}

로그인 후 복사

不可见的自定义字段
虽然在数据库里存在很多 WordPress 自己创建的自定义字段,但是在文章编辑器的 “自定义栏目” 里却并没有显示(没有 “自定义栏目” 板块请在右上角的 “显示选项” 开启),比如特色图像、自定义页面模板和评论是否开启等等。

如果仔细观察,会发现这些自定义字段的名字都是以下划线 “_” 开头的,所以说,以下划线 “_” 开头的自定义字段并不会显示给用户,the_meta() 函数也不会输出,对用户来说是隐藏的。

20151225143222855.png (827×410)

利用这个特性,我们可以把不想让用户随便修改的字段、会让用户感到困惑的字段,比如已经提供设置界面的设置选项、缓存数据等等,以免出现错误。

下边是一个小例子:

add_post_meta( get_the_ID(), '_time_diff', time() );
로그인 후 복사

另外,如果自定义字段储存的内容是数组即使名字前边不是下划线 “_” 也不会显示。

您可能感兴趣的文章:

  • WordPress判断用户是否登录的代码
  • 详解WordPress中提醒安装插件以及隐藏插件的功能实现
  • 给WordPress的编辑后台添加提示框的代码实例分享
  • 详解WordPress开发中过滤属性以及Sql语句的函数使用
  • WordPress中创建用户角色的相关PHP函数使用详解

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1084529.htmlTechArticleWordPress中编写自定义存储字段的相关PHP函数解析, WordPress 的自定义字段就是文章的 meta 信息(元信息),利用这个功能,可以扩展文章的...
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 대 Flutter: 모바일 개발을 위한 최고의 선택 PHP 대 Flutter: 모바일 개발을 위한 최고의 선택 May 06, 2024 pm 10:45 PM

PHP와 Flutter는 모바일 개발에 널리 사용되는 기술입니다. Flutter는 크로스 플랫폼 기능, 성능 및 사용자 인터페이스가 뛰어나며 고성능, 크로스 플랫폼 및 맞춤형 UI가 필요한 애플리케이션에 적합합니다. PHP는 성능이 낮고 크로스 플랫폼이 아닌 서버 측 애플리케이션에 적합합니다.

WordPress에서 페이지 너비를 변경하는 방법 WordPress에서 페이지 너비를 변경하는 방법 Apr 16, 2024 am 01:03 AM

style.css 파일을 편집하여 WordPress 페이지 너비를 쉽게 수정할 수 있습니다. style.css 파일을 편집하고 .site-content { max-width: [원하는 너비] }를 추가하세요. [원하는 너비]를 편집하여 페이지 너비를 설정하세요. 변경 사항을 저장하고 캐시를 지웁니다(선택 사항).

WordPress에서 제품 페이지를 만드는 방법 WordPress에서 제품 페이지를 만드는 방법 Apr 16, 2024 am 12:39 AM

WordPress에서 제품 페이지 만들기: 1. 제품 만들기(이름, 설명, 사진) 2. 페이지 템플릿 사용자 정의(제목, 설명, 사진, 버튼 추가) 3. 제품 정보(재고, 크기, 무게)를 입력합니다. 4. 변형(다양한 색상, 크기)을 만듭니다. 5. 공개 또는 숨김을 설정합니다. 6. 댓글을 활성화/비활성화합니다. 7. 페이지를 미리 보고 게시합니다.

WordPress 기사는 어느 폴더에 있나요? WordPress 기사는 어느 폴더에 있나요? Apr 16, 2024 am 10:29 AM

WordPress 게시물은 /wp-content/uploads 폴더에 저장됩니다. 이 폴더는 하위 폴더를 사용하여 연도, 월, 기사 ID별로 정리된 기사를 포함하여 다양한 유형의 업로드를 분류합니다. 기사 파일은 일반 텍스트 형식(.txt)으로 저장되며 파일 이름에는 일반적으로 ID와 제목이 포함됩니다.

워드프레스 템플릿 파일은 어디에 있나요? 워드프레스 템플릿 파일은 어디에 있나요? Apr 16, 2024 am 11:00 AM

WordPress 템플릿 파일은 /wp-content/themes/[테마 이름]/ 디렉터리에 있습니다. 헤더(header.php), 바닥글(footer.php), 기본 템플릿(index.php), 단일 기사(single.php), 페이지(page.php)를 포함하여 웹사이트의 모양과 기능을 결정하는 데 사용됩니다. , 아카이브(archive.php), 카테고리(category.php), 태그(tag.php), 검색(search.php) 및 404 오류 페이지(404.php). 이러한 파일을 편집하고 수정하면 WordPress 웹사이트의 모양을 사용자 정의할 수 있습니다.

WordPress에서 저자를 검색하는 방법 WordPress에서 저자를 검색하는 방법 Apr 16, 2024 am 01:18 AM

WordPress에서 작성자 검색: 1. 관리자 패널에 로그인한 후 게시물 또는 페이지로 이동하여 검색 표시줄을 사용하여 작성자 이름을 입력하고 필터에서 작성자를 선택합니다. 2. 기타 팁: 와일드카드를 사용하여 검색 범위를 넓히고, 연산자를 사용하여 기준을 결합하거나, 저자 ID를 입력하여 기사를 검색하세요.

어떤 WordPress 버전이 안정적인가요? 어떤 WordPress 버전이 안정적인가요? Apr 16, 2024 am 10:54 AM

가장 안정적인 WordPress 버전은 최신 보안 패치, 성능 향상, 새로운 기능 및 개선 사항이 포함된 최신 버전입니다. 최신 버전으로 업데이트하려면 WordPress 대시보드에 로그인하고 업데이트 페이지로 이동하여 지금 업데이트를 클릭하세요.

WordPress를 개발하는 데 어떤 언어가 사용됩니까? WordPress를 개발하는 데 어떤 언어가 사용됩니까? Apr 16, 2024 am 12:03 AM

WordPress는 데이터베이스 상호 작용, 양식 처리, 동적 콘텐츠 생성 및 사용자 요청을 처리하기 위한 핵심 프로그래밍 언어로 PHP 언어를 사용하여 개발되었습니다. PHP는 크로스 플랫폼 호환성, 학습 용이성, 활발한 커뮤니티, 풍부한 라이브러리 및 프레임워크 등의 이유로 선택되었습니다. WordPress는 PHP 외에도 HTML, CSS, JavaScript, SQL 등과 같은 언어를 사용하여 기능을 향상시킵니다.

See all articles