wordpress分页函数:the_posts_pagination

wordpress免插件分页,wordpress自带函数:the_posts_pagination

<?php the_posts_pagination( array(
'mid_size' => 3,
'prev_text' =>'上一页',
'next_text' =>'下一页',
'before_page_number' => '<span class="meta-nav screen-reader-text">第 </span>',
'after_page_number' => '<span class="meta-nav screen-reader-text"> 页</span>',
) ); ?>

利用wp_insert_post函数插入数据

在主题开发的过程中可能需要在前台提交数据到后台,比如前台投稿,项目提交等,这个使用利用wp_insert_post函数可以轻松搞定,下面我们来了解一下详细用法:

该函数可在数据库中插入文章及页面。如果$postarr参数有“ID”设置为一个值,那么文章将被更新。您可以通过设置“post_date”和“post_date_gmt”值来手动设置发布日期也可以通过设置“comment_status”值来关闭评论或打开注释。

使用方法

<?php wp_insert_post( array $postarr, bool $wp_error = false ); ?>

$postarr 参数说明

$postarr = array(
    'ID'                    => '0', // (int)默认值为0,如果是0以外的值,则该 ID 的文章将被更新。
    'post_author'           => get_current_user_id(), // (int)文章作者的ID,默认为当前登录的用户ID
    'post_date'             => '', // 文章发布时间,默认为当前时间。
    'post_date_gmt'         => '', // (字符串)GMT格式的文章发布时间。默认值是$post_date的值。
    'post_content'          => '', // (字符串)文章内容,默认为空。
    'post_content_filtered' => '', // (字符串)过滤后的内容,默认是空的。不要管这个,WordPress会自动处理。
    'post_title'            => '', // (字符串)文章标题,默认为空.
    'post_excerpt'          => '', // (字符串)文章摘要,默认为空。
    'post_status'           => '', // (字符串)文章状态,默认为『draft』,即草稿。
    'post_type'             => '', // (字符串)文章类型,默认为『post』.
    'comment_status'        => '', // (字符串)是否可以接受评论。接受『打开』或『关闭』。默认值是『default_comment_status』选项的值。
    'ping_status'           => '', // (字符串)是否可以接受ping命令。接受『打开』或『关闭』。默认值是『default_ping_status』选项的值。
    'post_password'         => '', // (字符串)访问该文章的密码,默认是空的。
    'post_name'             => '', // (字符串)文章的别名,当发布新的文章时会默认创建。
    'to_ping'               => '', // (字符串)空格或回车将url的列表分隔成ping,默认是空的。
    'pinged'                => '', // (字符串)空格或回车分隔的url列表,默认是空的。
    'post_modified'         => '', // (字符串)上次修改后的日期,默认是当前时间。
    'post_modified_gmt'     => '', // (字符串)最后在GMT时区修改后的日期,默认是当前时间。
    'post_parent'           => '', // (int)文章的父级文章ID,默认为 0。
    'menu_order'            => '', // (int)如果新文章为一个页面,可以设置一个页面序号,默认为 0。
    'post_mime_type'        => '', // (字符串)文章的mime类型,默认是空的。
    'guid'                  => '', // (字符串)全局唯一ID,用于引用post,默认是空的。
    'post_category'         => '', // (数组)文章分类目录,默认值为『default_category』选项的值。
    'tags_input'            => '', // (数组)文章标签,默认为空。
    'tax_input'             => '', // (数组)文章的自定义分类法项目,默认为空。
    'meta_input'            => '', // (数组)自定义字段,默认为空。
    'page_template'         => '', // 页面模板文件的名称,如,template.php,默认为空。
);

$wp_error

(可选)是否返回失败的WP_Error。

默认值:false

基本用法

// Create post object
$my_post = array(
  'post_title'    => wp_strip_all_tags( $_POST['post_title'] ),
  'post_content'  => $_POST['post_content'],
  'post_status'   => 'publish',
  'post_author'   => 1,
  'post_category' => array( 8,39 )
);
 
// Insert the post into the database
wp_insert_post( $my_post );

进阶插入到自定义分类法的文章和选择自定义分类法类别

$post_arr = array(
    'post_title'   => 'Test post',
    'post_content' => 'Test post content',
    'post_status'  => 'publish',
    'post_author'  => get_current_user_id(),
    'tax_input'    => array(
        'diy'     => '1',
    ),
    'meta_input'   => array(
        'test_meta_key' => 'value of test_meta_key',
    ),
);

diy是自定义分类法的方法,1是对应的ID

调用wordpress编辑器

<?php wp_editor( $content, $editor_id, $settings = array() ); ?>

参数说明

$content (string) (required) 编辑器的初始内容。
Default: None

$editor_id (string) (required) 文本区域和tinymce的html id属性值。只能包含小写字母和下划线。连字符会导致编辑器显示不正确。
Default: None

$settings (array) (optional) 参数数组。
Default: array()

Argumentswpautop (boolean) (optional) 是否使用wpautop添加段落。请注意,当wpautop为false时,将自动添加段落。
Default: true

media_buttons (boolean) (optional) 是否显示媒体插入/上载按钮
Default: true

textarea_name (string) (optional) 提交表单时分配给生成的文本区域和传递参数的名称。可以包含[]以将数据作为数组传递。)
Default: $editor_id

textarea_rows (integer) (optional) 为文本区域显示的行数
Default: get_option('default_post_edit_rows', 10)

tabindex (integer) (optional) 用于窗体字段的TabIndex值
Default: None

editor_css (string) (optional) 附加的CSS样式应用于视觉和HTML编辑器按钮,需要包括<style>标记,可以使用“范围”
Default: None

editor_class (string) (optional) 附加到编辑器文本区域的任何额外CSS类
Default: Empty string

editor_height (integer) (optional) 以像素为单位设置编辑器的高度。如果设置,将使用而不是文本区域\行。(从WordPress 3.5开始)
Default: None

teeny (boolean) (optional) 是否输出PressThis中使用的最小编辑器配置
Default: false

dfw (boolean) (optional) 无论是默认的全屏编辑器与DFW replace。CSS和DOM元素的空间特异性。
Default: false

tinymce (array) (optional) 加载tinymce,可用于使用数组将设置直接传递给tinymce
Default: true

quicktags (array) (optional) 加载快速标记,可用于使用数组将设置直接传递给快速标记。设置为false可删除编辑器的视觉和文本选项卡。
Default: true

drag_drop_upload (boolean) (optional) 启用拖放上载支持(从WordPress 3.9开始)
Default: false

参数说明

使用默认设置显示空编辑器:

<?php

$content = '';
$editor_id = 'mycustomeditor';

wp_editor( $content, $editor_id );

?>

用特定文章的内容填充编辑器:

<?php

$post_id = 51;
$post = get_post( $post_id, OBJECT, 'edit' );

$content = $post->post_content;
$editor_id = 'editpost';

wp_editor( $content, $editor_id );

?>

如果默认值不适合我们的需要,我们还可以传递一个或多个设置的数组。例如,如果我们想隐藏“插入媒体”按钮,我们可以这样做:

<?php

$settings = array( 'media_buttons' => false );

wp_editor( $content, $editor_id, $settings );

?>

我们还可以使用自定义按钮列表(包括自定义快速标记列表)修改默认的快速标记。

<?php

$settings = array( 
	'quicktags' => array( 'buttons' => 'strong,em,del,ul,ol,li,close' ), // note that spaces in this list seem to cause an issue
);

wp_editor( $content, $editor_id, $settings );

?>

请注意,传递给wp_editor()函数的ID只能由小写字母组成。没有下划线,没有连字符。其他任何事情都会导致WYSIWYG编辑器出现故障。(从3.6.1开始,您可以在ID中使用下划线。)
一旦实例化,所见即所得编辑器就不能在DOM中移动。从实际意义上讲,这意味着你不能把它放在元框中,而元框可以被拖放到页面的其他地方。相反,使用“编辑页面”或“编辑表单”高级(对于其他帖子类型):

add_action( 'edit_page_form', 'my_second_editor' );
function my_second_editor() {
	// get and set $content somehow...
	wp_editor( $content, 'mysecondeditor' );
}

 

利用update_user_meta()函数增加修改wordpress用户个人信息

在开发过程中我们需要对用户信息额外的字段进行更新和修改,或者增加,利用一些wordpress内置的函数就可以轻松完成:

update_user_meta( int $user_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' )

顺序分别是:用户ID,字段名称,字段值

用此方法可以完成wordpress用户自定义字段的更新和增加修改

获取用户自定义字段值的方法是:

get_user_meta( int $user_id, string $key = '', bool $single = false )

顺序分别是:用户ID,字段名称

dynamic主题contactform7表单设置参考

开发项目表单设置参考:

<div class="row">
<div class="col-xs-12 col-md-6 item">
[text* your-name placeholder "姓名"]
</div>
<div class="col-xs-12 col-md-6 item">
<input type="text" name="tel" id="tel" placeholder="电话" datatype="*8-20" errormsg="电话需要填入8-20个字符" nullmsg="电话不能为空!">
</div>
<div class="col-xs-12 col-md-6 item">
[email* your-email placeholder "邮箱"]
</div>
<div class="col-xs-12 col-md-6 item">
[select fromloc include_blank "您从哪里找到我们的" "朋友介绍" "搜索引擎" "线下广告" "其他途径"]
</div>
<div class="col-xs-12 col-md-12 item">
[textarea your-message]
</div>
<div class="col-xs-12 col-md-12 item">
[submit class:submit]
</div>
</div>

 

WordPress后台的文章列表只显示该作者自己的文章

对于WordPress多作者博客,如何让每个作者在后台只能浏览自己的文章?只需要将下面的代码添加到你主题的 functions.php 即可:

function mypo_parse_query_useronly( $wp_query ) {
    if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
        if ( !current_user_can( 'manage_options' ) ) {
            global $current_user;
            $wp_query->set( 'author', $current_user->id );
        }
    }
}
 
add_filter('parse_query', 'mypo_parse_query_useronly' );

 

Briefly unavailable for scheduled maintenance. Check back in a minute.

解决暂时不适用于计划维护。请稍候再查一下。

WordPress在升级程序、主题、插件时,都会先切换到维护模式,也就是显示 “正在执行例行维护,请一分钟后回来(Briefly unavailable for scheduled maintenance. Check back in a minute)”,如果升级顺利,也就几秒左右就恢复正常;但是如果由于网速不佳等原因导致升级中断,WordPress就会一直停留在维护模式,不论前台还是后台,都一直显示“正在执行例行维护,请一分钟后回来“。

如何解决这个问题呢?

通过FTP登录你的网站,删除WordPress根目录下的 .maintenance ,刷新网页即可。