php 입문자가 질문드려요!
안녕하세요! 평소에 코딩에 관심이 많았는데, 워드프레스를 통해서 php 에 입문하게 되었습니다.
잘 부탁드립니다. ^^
두 가지 질문이 있습니다. 엄청 초보적인 질문인데,
1) <?php edit_post_link('Edit'); ?> <?php delete_post(); ?>
글을 수정하는 Edit 링크와 Delete링크를 생성하였습니다. 이코드 위에 Function 있습니다.
저거를 그대로 서버에 올리면 EditDelete 이렇게 붙어있어서 이사이에 / 또는 l 을 하여 구분하고 싶습니다.
이럴경우 <?php edit_post_link('Edit') .'ㅣ'. delete_post(); ?>
이런식으로 해봐도 안 되는데 어떻게 해야되는지요? ^^ 너무나 초보적인 질문이네요.
2) 글을 삭제하는 버튼을 클릭하여 글을 삭제한 후 바로 홈으로 이동하고 싶은데, 찾아보니 다음의 코드를 발견하였습니다.
// Delete post function delete_post(){ global $post; $deletepostlink= add_query_arg( 'frontend', 'true', get_delete_post_link( get_the_ID() ) ); if (current_user_can('edit_post', $post->ID)) { echo '<span><a class="post-delete-link" onclick="return confirm(\'¿Are you sure to delete?\')" href="'.$deletepostlink.'">Delete</a></span>'; } }
//Redirect after delete post in frontend add_action('trashed_post','trash_redirection_frontend'); function trash_redirection_frontend($post_id) { if ( filter_input( INPUT_GET, 'frontend', FILTER_VALIDATE_BOOLEAN ) ) { wp_redirect( get_option('siteurl')); exit; } }
그런데 redirect는 되지 않고 그냥 없는 페이지가 떠버립니다. 아무래도 //Redirect after delete post in frontend 이후로 무엇인가 잘못 된 것 같은데 어디를 수정해야 할까용?
답변 부탁드립니다. 감사합니다. ^^
답변입니다.
1) html 출력 시 공백이 없어서 붙어서 나와서 그러신거면 사이에 echo 라던지 print 로 원하시는 문자열을 출력 하시면 됩니다. <?php edit_post_link('Edit') .'ㅣ'. delete_post(); ?> 아마 edit_post_link 와 delete_post의 리턴값이 string 타입이 아니라면 에러가 날수도 있다고 생각되네요. 그리고 함수를 한줄에 여러개 콜하는 습관을 들이시면 소위... 욕 먹는 PHP코더가 되버릴 수도 있습니다.
이정도 코드가 적당하지 않을까 싶네요..
2) 해당 문제는 PHP가 아니라 워드프레스 쪽 질문이라, 그쪽 방면으로는 답변드리기가 어렵군요.
오 감사합니다!
오 감사합니다! 욕먹는 PHP코더ㅋㅋㅋ그런 가르침 너무 좋습니다. 한 수 배웠습니다. 감사합니다!
댓글 달기