Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress:将帖子的月份和年份导出到自定义元字段_Php_Wordpress_Field_Custom Fields - Fatal编程技术网

Php Wordpress:将帖子的月份和年份导出到自定义元字段

Php Wordpress:将帖子的月份和年份导出到自定义元字段,php,wordpress,field,custom-fields,Php,Wordpress,Field,Custom Fields,我想将常规Wordpress文章的发布日期保存到自定义元字段中。有没有办法根据下面的场景编写函数 需求情景: 当我保存/创建帖子时,一些函数将使用当前月份和年份,然后将这些数据保存到名为custom_month和custom_year的自定义元字段中。 每篇文章都会有这些自定义元字段,以月份和年份分隔。这方面的内容: function hook_save_post($post_id, $post, $update) { //Check it's not an auto save rout

我想将常规Wordpress文章的发布日期保存到自定义元字段中。有没有办法根据下面的场景编写函数

需求情景: 当我保存/创建帖子时,一些函数将使用当前月份和年份,然后将这些数据保存到名为custom_month和custom_year的自定义元字段中。
每篇文章都会有这些自定义元字段,以月份和年份分隔。

这方面的内容:

function hook_save_post($post_id, $post, $update) {
    //Check it's not an auto save routine
    if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) 
        return;
    
    //Perform permission checks! For example:
    if ( !current_user_can('edit_post', $post_id) ) 
            return;
    
    // Remove this save_post action in case modifications are made in this process
    remove_action('save_post', 'hook_save_post', 13);
    
    $post_type = get_post_type($post_id);
    
    switch ($post_type) {
        case 'post':
        case 'page':
            $current_time = (int) current_time('timestamp');
            update_post_meta($post->ID, 'custom_month', date('m', $current_time));
            update_post_meta($post->ID, 'custom_year', date('Y', $current_time));
            break;
    }
    
    // Return save_post action
    add_action('save_post', 'hook_save_post', 13, 3);
}

add_action('save_post', 'hook_save_post', 13, 3);

以上内容适用于页面和帖子,但如果您想在所有帖子类型中使用它,您可以取消该切换条件或在
案例“页面”之后添加
默认值:
谢谢,它可以完美地工作。最后一个问题是,有没有办法在帖子发布时切换当前时间?在更新后的情况下可能会更好。嗯,有两种方法可以做到这一点。如果您只希望在创建帖子时保存此内容,则可以对
$update
参数执行一个条件,该参数对于新帖子为false。如果需要在该功能存在之前创建的帖子上执行此操作,则可以使用
$post->post\u date
而不是
$current\u time
。问题是,这会给你发布日期,而不是真正的创建日期。但是,老实说,如果你走
$post->post_date
的路线,那么你真的根本不需要元数据。我明白了。问题是我需要单独使用这些值,因为我需要在Search&Filter Pro插件中使用它。它不适用于post_日期字段本身。无论如何,再次非常感谢你。这对我帮助很大。