리스트 관련 질문드립니다.

리스트 관련 질문드립니다.

QA

리스트 관련 질문드립니다.

본문

질문이 많아 귀찮게 해드리는게 아닌가 싶네요..

 

게시판의 완성도가 워낙 높아 다른 게시판 플랫폼으로 갈 수가 없으니 이해 부탁드립니다..ㅜ

 

1. 글 작성을 완료하고 다시 목록으로 돌아왔을시 작성된 글이 나타나지 않습니다.

 

수십분이나 몇시간이 지나야 글이 나타납니다.

 

또한, 게시판 권한을 모두 오픈했는데, 관리자 계정으로만 글이 보일 경우가 있습니다.

 

브라우저 캐시를 제거하고 다시 봐도 글이 나타나지 않는걸로 보아, 브라우저 문제는 아닌듯 합니다.

 

2. 글을 작성하고 확인을 눌렀을 때, 게시판으로 이동하지 않고, 아래 이미지처럼 워드프레스의 포스트 목록으로 이동합니다.

b304d15535b110a569bf59292a7e114a_1428306621_1103.png
 

고생 많으신데 질문을 많이드려 죄송합니다..

이 질문에 댓글 쓰기 :

답변 3

wp_super_cache plugin 을 사용하고 계시다면...

 

아래 링크를 읽어주세요.

 

http://sir.co.kr/bbs/board.php?bo_table=gnupress_tip&wr_id=13

 

(wp_super_cache 만 해당됩니다.)

답변 감사합니다.

슈퍼캐시 플러그인을 적용하지 않은 상태입니다.

로그인한 상태에서는 글도 잘나오고 작성후 글 화면으로 바로 가지는데

꼭 비로그인 상태에서 글을 작성하면 글이 등록되지않으며, 저 화면으로 가집니다.

모든 권한을 비회원도 가능하도록 설정해 두었습니다..

무엇이 문제일까요??

이제 마지막 단계인데 이 문제때문에 막힙니다..

여러가지 테스트 해보다가 증상의 원인을 알아냈습니다.

2개의 서로 다른 사이트에서 진행을 했는데,

해당 게시판 페이지를 전면 페이지로 설정해놓을 경우에만 글이 정상적으로 등록되지 않습니다.

서브메뉴로 해놓으면 모든 기능이 잘 동작하나, 시작페이지로 등록해놓으면 글이 등록되지 않네요.

알려주셔서 감사합니다.

 

사용하고 있는 게시판 스킨

 

만약 default 스킨을 사용하고 있다면, 경로는 ( 플러그인폴더/gnupress/skin/board/defalut/write.skin.php )

 

이 됩니다.

 

    <input type="hidden" name="sod" value="<?php echo esc_attr( $sod ); ?>">

    <input type="hidden" name="page" value="<?php echo esc_attr( $page ); ?>"> 

 

이러한 구문이 있는곳에 아래 처럼 한줄만 추가해 보세요.

 


    <input type="hidden" name="sod" value="<?php echo esc_attr( $sod ); ?>">
    <input type="hidden" name="page" value="<?php echo esc_attr( $page ); ?>">
    <input type="hidden" name="page_id" value="<?php echo get_the_ID(); ?>"> 

 

 

 

또 view_comment.skin.php 에서

 

    <input type="hidden" name="spt" value="<?php echo esc_attr( $spt ); ?>">

    <input type="hidden" name="page" value="<?php echo esc_attr( $page ); ?>"> 

 

위의 구문이 있는곳에 아래 처럼 한줄 더 추가해 주세요.

 


    <input type="hidden" name="spt" value="<?php echo esc_attr( $spt ); ?>">
    <input type="hidden" name="page" value="<?php echo esc_attr( $page ); ?>">
    <input type="hidden" name="page_id" value="<?php echo get_the_ID(); ?>"> 

 

 

 

또 password.skin.php 에서 

 

    <input type="hidden" name="stx" value="<?php echo esc_attr( $stx ); ?>">

    <input type="hidden" name="page" value="<?php echo esc_attr( $page ); ?>"> 

 

위의 구문이 있는곳에 아래 처럼 한줄 더 추가해 주세요.

 


    <input type="hidden" name="stx" value="<?php echo esc_attr( $stx ); ?>">
    <input type="hidden" name="page" value="<?php echo esc_attr( $page ); ?>">
    <input type="hidden" name="page_id" value="<?php echo get_the_ID(); ?>"> 
 

 

고친 부분은 다음 버젼에 수정하여 배포하겠습니다.

추가 내용입니다.

 

/gnupress/lib/g5_board.class.php 167번째 줄 

 

        $check_key_array = apply_filters('g5_board_view_request_check', array('w', 'sop', 'stx', 'sca', 'sst', 'sca', 'sfl', 'spt', 'sod', 'sw', 'board_page_id', 'tag') );

        

        $g5_param_array = array();

 

        foreach( $check_key_array as &$v ){

            $g5_param_array[$v] = isset($_REQUEST[$v]) ? g5_request_check($_REQUEST[$v]) : '';

        } 

 

위에 처럼 되어 있는 부분을 아래와 같이 바꿔주세요.

 


        $check_key_array = apply_filters('g5_board_view_request_check', array('w', 'sop', 'stx', 'sca', 'sst', 'sca', 'sfl', 'spt', 'sod', 'sw', 'board_page_id', 'tag', 'gw') );
 
        $g5_param_array = array();
 
        foreach( $check_key_array as &$v ){
            $g5_param_array[$v] = isset($_REQUEST[$v]) ? g5_request_check($_REQUEST[$v]) : '';
        }
 
		if( isset($g5_param_array['gw']) && !empty($g5_param_array['gw']) ){
			$g5_param_array['w'] = $g5_param_array['gw'];
		} 

 

그리고 폴더 /gnupress/extend/ 에서 

 

/gnupress/extend/is_front_extend.php     <<< 이렇게 

 

빈 파일을 만들어서 아래 코드를 복사해서 붙여넣어 주세요.


<?php
if( !function_exists('g5_front_link_add') ){
	add_filter('g5_password_update_href', 'g5_front_link_add');	//비회원 수정url
	add_filter('g5_password_delete_href', 'g5_front_link_add');	//비회원 삭제url
	add_filter('g5_view_update_href', 'g5_front_link_add');	//회원 수정url
	add_filter('g5_view_delete_href', 'g5_front_link_add');	//회원 삭제url
 
	function g5_front_link_add($url){
		if( is_front_page() ){
			$parse = wp_parse_args($url);
			if( isset($parse['w']) && !empty($parse['w']) ){
				return add_query_arg(array('gw'=>$parse['w']), remove_query_arg('w', $url));
			}
    return $url; 
		} else {
			return $url;
		}
	}
}
?> 

 

수정된 부분은 다음버젼에 배포하겠습니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 5
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT