Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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 Cron作业-在数据库之间移动数据_Php_Database_Wordpress_Cron_Custom Post Type - Fatal编程技术网

Php Cron作业-在数据库之间移动数据

Php Cron作业-在数据库之间移动数据,php,database,wordpress,cron,custom-post-type,Php,Database,Wordpress,Cron,Custom Post Type,我在Wordpress中有一个会员网站,它是用一个名为“会员”的自定义帖子类型构建的 出于许多原因,我们使用cron作业来运行这些CPT字段,并使用来自单独数据库的数据填充这些CPT字段(公司使用标准WP数据库存储数据是不可行的) 数据库从MS Access中启动,导出到WP数据库中的一个单独表中,然后cron作业从该数据库中提取数据并将其添加到CPT数据库中 在cron作业文档中,我们有如下行: update_field( 'memberimage', $members->webpic,

我在Wordpress中有一个会员网站,它是用一个名为“会员”的自定义帖子类型构建的

出于许多原因,我们使用cron作业来运行这些CPT字段,并使用来自单独数据库的数据填充这些CPT字段(公司使用标准WP数据库存储数据是不可行的)

数据库从MS Access中启动,导出到WP数据库中的一个单独表中,然后cron作业从该数据库中提取数据并将其添加到CPT数据库中

在cron作业文档中,我们有如下行:

update_field( 'memberimage', $members->webpic, $post_id );
update_field( 'description', $members->description, $post_id );
update_field( 'phone_number', $members->telno, $post_id );
update_field( 'email_address', $members->email, $post_id );
update_field( 'website_address', $members->web, $post_id );
它显然从数据库中的字段中获取数据,并将其添加到我们在CPT等中创建的字段中

对于每个成员,在后端,我有一个用高级自定义字段创建的下拉列表(字段名:
gold\u或\u silver\u成员
,选择选项为gold或silver),将它们标记为silver成员的gold

银色是默认的,如果它们是金色的,那么所有有条件的事情都会在它们的目录页面上显示更多的特性

在我们从中提取的数据库中,负责此操作的列称为
webtier
,因此在数据库级别,数据库用户将数字2添加到字段中,即成员为银,如果成员为金,则将数字3添加到字段中

我正试图以上面的方式从数据库中获取这个数字,并将其输出以返回ACF中每个成员的黄金或白银

我们已经有了这条线:

update_field( 'gold_or_silver_member', 'Silver', $post_id );
我认为,这使得所有成员默认为银牌,因此,我认为,逻辑只需要说:

如果数据库字段webtier中的数字为3,则将ACF字段更改为gold

我想无论如何

老实说,我有点固执,我是从别人那里得到的,因为目前的情况,我找不到这个人,所以我的任务是找出答案……有人能帮我,给我建议吗

完整的cronjob.php文件是:

<?php
include('wp-config.php');

global $wpdb;
$taxonomy="business_sector";
$members = $wpdb->get_results("SELECT dep.*  FROM directory_enteries_partnership as dep where status=0 ");
$i=1;
foreach($members as $members){
    //echo $members->webcat;
    //echo "<br>";
    $category = $wpdb->get_row("SELECT *  FROM directory_categories_partnership as dcp where maincategory=$members->webcat");

    //echo "$i";
    //echo "<br>";
    //$i++;
    //echo "<pre>";
    //print_r($category);
    $term = get_term_by('name',$category->description,$taxonomy);
//  echo "<pre>";
    //print_r($term);
//  print_r($members);
//  //die;
    $address =  $members->address1.' '.$members->address2.' '.$members->town.' '.$members->postcode;

$my_post = array(
     'post_title' => $members->orgname,
     'post_type'  => 'members',
     'post_status' => 'publish',
     'post_author' => 1,
     'post_category' => array( $term->term_id ),

  );

// Insert the post into the database
 $post_id = wp_insert_post( $my_post );
 wp_set_post_terms($post_id,$term->term_id,$taxonomy);
 update_field( 'logoimage', $members->weblogo, $post_id );
update_field( 'address', $address, $post_id );
update_field( 'memberimage', $members->webpic, $post_id );
update_field( 'description', $members->description, $post_id );
update_field( 'phone_number', $members->telno, $post_id );
update_field( 'email_address', $members->email, $post_id );
update_field( 'website_address', $members->web, $post_id );
update_field( 'show_as_new_member', 'No', $post_id );
update_field( 'show_as_featured_member', 'No', $post_id );
update_field( 'gold_or_silver_member', 'Silver', $post_id );
$field_key = "social_media_accounts";
$value = array(
    array(
        "social_network_name"   => "Facebook",
        "url"   => $members->facebook
    ),
    array(
        "social_network_name"   => "Twitter",
        "url"   => $members->twitter
    )
);
update_field( $field_key, $value, $post_id );
$wpdb->update( 
    'directory_enteries_partnership', 
    array( 
        'status' => 1
    ), 
    array( 'id' => $members->id )
);
// die;
}
?>


非常感谢您的帮助或建议!!感谢您的关注。

替换此行
更新字段('gold\u或\u silver\u member'、'silver'、$post\u id);

使用此代码:


再次感谢亚历克:)
$webtier = $members->webtier;
$membership = 'Silver';
if ($webtier == 3) $membership = 'Gold';
update_field( 'gold_or_silver_member', $membership, $post_id );