有没有办法在以前的功能上添加新的数组,以便显示新选项?

时间:2019-09-07 19:50:32

标签: php arrays wordpress custom-post-type

我正在使用PlayerX主题(非常好),他们使用CPT的PlayerX Core插件:匹配

我正在尝试添加一个新的数组,该数组取决于分类为“完成”的比赛状态。 我想添加一个新数组,以便“游戏”选项: [“获胜”,“失利”,“平局”,“ ET(加时赛)”,“罚则”] 选择“完成”时,将在编辑器上显示。 这扩展了插件功能,并且可能是多余的-我知道。

我不关心前端输出,因为我使用不同的图像来描绘“游戏结果”的各种结果,例如(蓝赢,红输,灰色平局,橙色加时赛和粉红罚球)。

我已经考虑过简单地将新对象添加到当前比赛状态,因为这是更容易的选择,并且使用了新图像,即 “完成-丢失” “完成-开奖” '额外时间-胜利' '额外时间-丢失' “处罚” 到现有的“待播放”,“进行中”,“完成”,“取消”数组。

但是我想稍后将这些详细信息作为表格来调用,因此我确实需要这些对象层次结构。

我已经在映射(php)页面中将数组注册为一个函数,但是很难在WordPress编辑器中隐藏/显示“游戏结果”。

主题/插件套件使用了WPBakery(visual_composer),但我并不真正关心兼容性。

这是列出

的插件代码
array(
 'type'        => 'dropdown',
 'heading'     => esc_html__('One-Status Match List', 'playerx-core'),
 'param_name'  => 'status',
 'value' => array(
 '' => '', 
       esc_html__('To Be Played', 'playerx-core') => 'to_be_played',
       esc_html__('In Progress', 'playerx-core')=> 'in_progress',
       esc_html__('Finished', 'playerx-core')=> 'finished',
       esc_html__('Canceled', 'playerx-core')=> 'canceled'
        )

更简单的选项使我可以毫无问题地添加新值,而不是我要寻找的...

这是当前代码,用于获取完成匹配的图像:

public function getVSImageURL( $params ) {

$url = '';
$status = get_post_meta( get_the_ID(), 'edgtf_match_status_meta', true );
      if ( $status == 'finished' ) {
    $url = PLAYERX_CORE_ASSETS_URL_PATH . '/img/vs_finished.png';
        } 
      else if ( $params['skin'] == 'light' ) {
    //ignore this
   $url = PLAYERX_CORE_ASSETS_URL_PATH . '/img/vs_light.png';
        } 
    else {$url = PLAYERX_CORE_ASSETS_URL_PATH . '/img/vs_dark.png';}
        return $url;
    }

private function getTeamsOptions( $params ) {
$new_params = array();
$id                            = get_the_ID();

$new_params['item_classes']    = $this->getMatchItemClasses( $params );

$new_params['link_atts']       = $this->getItemLink( $params );
//changes can be done here
$new_params['vs_image']        = $this->getVSImageURL( $params );

$new_params['custom_image_sizes'] = $this->getCustomImageSize( 

$params['custom_image_dimensions'] );

$new_params['status']         = get_post_meta( 
             $id, 'edgtf_match_status_meta', true );

$new_params['category']       = $this->getItemCategoriesHtml( 
                                 $params );
$new_params['date']           = $this->getItemDateHtml( 
                                 $params );
$new_params['team_one_name']  = get_post_meta( 
                              $id, 'edgtf_match_team_one_name_meta', 
                              true );
$new_params['team_two_name']  = get_post_meta( 
                              $id, 'edgtf_match_team_two_name_meta', 
                              true );
$new_params['team_one_image'] = get_post_meta( 
                              $id, 'edgtf_match_team_one_image_meta', 
                              true );
$new_params['team_two_image'] = get_post_meta( 
                              $id, 'edgtf_match_team_two_image_meta', 
                              true );

// this is the output I'm interested in...

$new_params['result'] = '';
    if ( $params['show_result'] == 'yes' ) {
            $new_params['result'] = get_post_meta( 
             $id, 'edgtf_match_result_meta', true );
}

return $new_params;
    }

我不打算在此处复制/粘贴所有相关文件,但要点始终存在,遍历functions.php和admin选项。

如上所述,我已经成功地扩展了Results表,但由于要通过使用现有代码为其他目的创建Results表来进一步建立此表,因此该代码应触发WordPress仪表板上的更改以及可用于其他meta使用。

错误包括 崩溃(WSOD) WP调试错误警告和致命

0 个答案:

没有答案