我正在使用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调试错误警告和致命