[워드프레스] 새 글을 작성하는 링크 만들기

워드프레스 테마를 개발하면서 사용자가 프론트엔드에서 새 글을 작성 할 수 있도록 하는 링크를 만드는 방법을 알아봅시다.

admin_url

워드프레스 관리자 화면에서 새 글을 작성하는 화면의 주소가 어떻게 되어 있는지 살펴 봅시다.

워드프레스 새 글 작성 화면 주소

보이시나요? 일단 워드프레스 관리자 화면의 주소인 (도메인)/wp-admin/ 까지 있고 그 다음에 post-new.php 라는 파일을 통해 워드프레스 새 글 작성 화면이 사용자에게 보여집니다.

워드프레스는 사용자 편의를 위한 다양한 함수를 기본으로 탑재하고 있는데, 그 중 admin_url 이라는 함수가 있습니다. 이 함수를 간단하게 이야기하자면, 바로 위 주소에서 wp-admin 까지의 주소를 출력해주는 함수라고 할 수 있습니다.

새 글 링크 만들기

admin_url 함수를 잘 이용하면 새 글을 작성 할 수 있는 페이지로 이동할 수 있는 링크를 만들 수 있겠죠? admin_url 의 기본 사용 방법은 아래와 같습니다.

admin_url( [$path], [$scheme] )

여기서 첫번째 파라미터를 아래와 같이 이용하면 새 글로 이동 할 수 있는 주소가 만들어집니다.

admin_url( null, 'post-new.php' ) // 반환 값 = (도메인)/wp-admin/post-new.php

그럼 이제 PHP 코드를 이용해 실제 링크를 만들어 볼까요?

<? echo '<a href="' . admin_url( 'post-new.php' ) . '" target="_blank">New Post</a>'; ?>

a 태그의 이동할 주소를 admin_url 함수를 이용해 표현한 것입니다. 생각보다 간단하죠?

CPT 새 글 링크 만들기

조금 더 응용 해봅시다.

사용자 정의 글 형식(Custom post type, CPT)의 새 글 링크를 만들기 위해서는 어떻게 하면 될까요. 일단 실제 워드프레스 대시보드에 있는 실제 링크를 보면 간단하겠네요.

워드프레스 CPT 새 글 작성 화면 주소

post-new.php 화면으로 이동할 때 post_type 이라는 파라미터를 추가 해주면 되는군요. 그렇다면 사용자 정의 글 형식에 대한 새 글 작성화면 링크도 아래와 같이 간단하게 만들 수 있습니다.

<? echo '<a href="' . admin_url( 'post-new.php?post_type=(CPT Name)' ) . '" target="_blank">New Post</a>'; ?>

참 쉽죠?

참고자료