그누커머스 코드 수정 좀 도와주세요(php알못입니다.ㅠ)
본문
CSS는 크롬 개발자도구로 어찌어찌 고쳐서 워드프레스 Child 테마에 적용시켜 놨는데,
php는 도통 감을 못 잡겠습니다. ㅠㅠ 주석처리 해놨더니 그누커머스 업데이트 할때마다 초기화돼서 다시 손봐야 하던데, 플러그인 업데이트 시에도 그대로 유지되게끔 할 수는 없을까요?
첫째, /wp-content/plugins/gnucommerce/lib/gc_user.class.php
파일의 8째 줄을 아래처럼 주석처리 했는데, 이걸 그누커머스 업데이트 시에도 유지하고 싶습니다.
(관리자페이지 사용자-나의프로필 에서 주소입력란 나오는 현상 무력화)
// add_action('show_user_profile', array( __CLASS__, 'custom_user_profile_fields'));
둘째, /wp-content/plugins/gnucommerce/lib/gc_board.class.php
파일의 224~230째 줄을 아래처럼 주석처리 했는데, 이걸 그누커머스 업데이트 시에도 유지하고 싶습니다.
(상단 대시보드의 "내 포인트", "내 스크랩" 항목표시 숨김)
/* array(
'parent' => $my_account_menu_id, 'id' => 'gc-account-point', 'title' => __( '내 포인트', GC_NAME ).'( '.number_format((int) get_user_meta($current_user->ID ,'mb_point', true)).' )'
, 'href' => gc_get_link_by('point'), 'meta' => array('class' => 'gc_new_open', 'target' => '_blank')
),
array(
'parent' => $my_account_menu_id, 'id' => 'gc-account-scrap', 'title' => __( '내 스크랩', GC_NAME ), 'href' => gc_get_link_by('scrap'), 'meta' => array('class' => 'gc_new_open', 'target' => '_blank')
) */
셋째, /wp-content/plugins/gnucommerce/lib/gc_board_common.php
파일의 964째 줄을 아래처럼 주석처리 했는데, 이걸 그누커머스 업데이트 시에도 유지하고 싶습니다.
(게시판에서 닉네임 클릭했을 때 '메일보내기' 나오는 부분 없애기)
// $sidebars['email'] = "<a href=\"".$formmail_url."\" onclick=\"gcboard.win_email(this.href); return false;\">".__('메일보내기', 'gnucommerce')."</a>\n";
----------------------
이것들을 어떻게 하면 될까요? 도와주세요.ㅠㅠ
답변 2
아래 내용들을
차일드테마/functions.php 또는 적당한 파일 ( 항상 실행되는 파일 ) 에
코드를 넣으시면 되실겁니다.
설명은 주석을 달아 놓았습니다.
add_action( 'init', 'custom_gnucommerce_remove_profile' );
function custom_gnucommerce_remove_profile(){
//내 프로필에서 그누커머스 회원정보 입력 삭제
remove_action('show_user_profile', array( 'GC_User_profile', 'custom_user_profile_fields') );
remove_action('edit_user_profile', array( 'GC_User_profile', 'custom_user_profile_fields') );
remove_action('edit_user_profile_update', array( 'GC_User_profile', 'update_extra_profile_fields') );
remove_action('personal_options_update', array( 'GC_User_profile', 'update_extra_profile_fields') );
}
add_filter('gc_admin_bar_add', 'custom_gnucommerce_custom_menu');
function custom_gnucommerce_custom_menu($menu){
unset($menu[1]); //내 포인트 삭제
unset($menu[2]); //내 스크랩 삭제
return $menu;
}
add_filter('gcboard_get_sidebars', 'custom_filter_gnucommerce_get_sidebars', 1, 3);
function custom_filter_gnucommerce_get_sidebars($html, $sidebars, $user_id){
unset( $sidebars['email'] ); //사이드뷰에서 이메일 삭제
return join('', $sidebars);
}
해당 파일이 업데이트 안됬다면 빼고 하시면 됩니다.
그게 아니라면 할때마다 주석 처리 하시는 방법 밖에는 없습니다.