테스트 사이트 - 개발 중인 베타 버전입니다

wr_10 여분변수의 값에 따라서 특정 글로 이동하게 하려고 합니다.

꾸꾸다우 1년 전 조회 1,852

wr_10의 여분변수에 저장한 값에 따라서 특정 글로 이동하게 하려고 합니다.

 

그런데 테마를 쓰고 있는데 테마마다 wr_10를 확인해서 이동하게 하지않고,

 

그누보드 자체에 있는 곳에서 이를 행하려고 했는데 잘 안되네요.

 

일단 생각했던 것은 훅을 이용해서

 

add_event('common_header', function ($write) {

echo $write['wr_10'];

});

 

를 해봤는데 아무것도 출력이 되지 않습니다. ( 값은 있습니다. )

 

목적을 달성하기 위해서 어떻게 해야 할까요? (꼭 훅이 아니어도, 테마 별로 다 손대지 않고 한번에

 

해결할 수 있는 방법 있으면 조언 좀 주십시요) 

 

감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

1년 전

extend/your_filename.extend.php

</p>

<p>function hook_common_header_view() {

    global $g5;</p>

<p> </p>

<p>    $bo_table = isset($_GET['bo_table']) == true ? $_GET['bo_table'] : null;

    $wr_id    = isset($_GET['wr_id']) == true    ? $_GET['wr_id']    : null;

    $w        = isset($_GET['w']) == true        ? $_GET['w']        : null;</p>

<p> </p>

<p>    $wr_id_ext_field = 'wr_10';</p>

<p> </p>

<p>    $view = null;

    if ($w == null && $bo_table != null && is_numeric($wr_id) == true) {

        $write_table = $g5['write_prefix'] . $bo_table;

        $view = get_write($write_table, $wr_id);

    }</p>

<p> </p>

<p>    if (isset($view['wr_id']) == true && $view['wr_id'] == $wr_id && is_numeric($view[$wr_id_ext_field]) == true) {

        $uri = get_pretty_url($bo_table, $view[$wr_id_ext_field]);

        $uri = htmlspecialchars_decode($uri);

        header('Location: ' . $uri);

        exit();

    }

}

add_event('common_header', 'hook_common_header_view', G5_HOOK_DEFAULT_PRIORITY, 0);</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

꾸꾸다우
1년 전
답변 감사합니다. 그런데, 해보는데 안되서 이리저리 알아보니, 제가 마침 wr_id를 주소창에서 안쓰고, shorten url을 적용해서 사용하고 있습니다. 그래서 여전히 $view 변수에 아무 값도 안들어가서 이 코드 역시 값을 못불러오고 있어 다른 방법이 필요할 거 같습니다 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

1년 전

* /tail.php 3라인에 추가

</p>

<p>if ($view['wr_10']) </p>

<p>  goto_url('<a href="https://sir.kr/'" target="_blank" rel="noopener noreferrer">https://sir.kr/'</a> . '?abc=' . $view['wr_10']);</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

꾸꾸다우
1년 전
제가 테마를 쓰고 있어서요. 테마를 바꾸기도 하는데 이러면 테마마다 다 기억하고 이걸 넣어줘야 해서, 그냥 그누보드 자체 코드 쪽에서 한번만 처리하려고 시도중입니다. 혹이라도 테마 중에 잊고 처리 안하는 것을 방지하기도 하구요. 그래서 훅으로 처리해보려고 한건데 훅에서 변수 사용이 안되는건지 잘 안되네요
마르스컴퍼니
1년 전
/theme/basic/tail.php 가 아닌 /tail.php 파일이고 모든 테마 공통입니다.
테마를 변경해도 적용됩니다.
꾸꾸다우
1년 전
아.. 이런. 제가 미개한 짓을 했습니다. 해당 파일을 열어보고, 회사소개.. 등등의 문구가 있길래 아닌가보다 했는데 답글을 달아주신 내용을 보고 다시 확인해봤더니 그래서 3라인 에 추가를 하라고 하셨던 거였네요. 감사합니다!

아래 훅으로 하는 방법도 추가적으로 아시는 분 계시면 좀 더 알려주세요~! url은 short url을 사용하고 있어서 $_GET으로 파라매터로 wr_id를 가져오지는 못하고 있습니다~!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인