Skip to main content

액션과 훅

1. 훅(Hooks)

훅은 특정 시점에 코드를 실행할 수 있는 워드프레스의 강력한 기능입니다. 훅은 크게 액션과 필터로 나뉩니다.

  • 액션(Action): 특정 이벤트가 발생할 때 실행되는 함수를 정의합니다. 예를 들어, 게시물이 저장될 때 추가 작업을 수행할 수 있습니다.
  • 필터(Filter): 데이터를 데이터베이스에 저장하거나 브라우저에 출력하기 전에 수정할 수 있습니다.

2. 액션(Action)

액션은 특정 이벤트가 발생할 때 실행할 함수를 정의합니다. 예를 들어, 플러그인이 활성화될 때, 테마가 로드될 때, 게시물이 저장될 때 등의 이벤트가 있을 수 있습니다.

액션 훅 사용 방법
  1. 액션 훅 추가

    • add_action() 함수를 사용하여 특정 이벤트에 함수를 추가합니다.
    function my_custom_function() {
        // 실행할 코드
        echo "This is my custom function!";
    }
    add_action('wp_footer', 'my_custom_function');
    
  2. 액션 훅 제거

    • remove_action() 함수를 사용하여 특정 이벤트에서 함수를 제거할 수 있습니다.
    remove_action('wp_footer', 'my_custom_function');
    
주요 액션 훅
  • init: 워드프레스가 초기화될 때 실행됩니다.

    add_action('init', 'my_init_function');
    function my_init_function() {
        // 초기화 작업
    }
    
  • wp_enqueue_scripts: 스크립트와 스타일을 큐에 추가할 때 사용됩니다.

    add_action('wp_enqueue_scripts', 'my_enqueue_scripts');
    function my_enqueue_scripts() {
        wp_enqueue_style('my-style', get_stylesheet_uri());
        wp_enqueue_script('my-script', get_template_directory_uri() . '/js/my-script.js', array(), false, true);
    }
    
  • save_post: 게시물이 저장될 때 실행됩니다.

    add_action('save_post', 'my_save_post_function');
    function my_save_post_function($post_id) {
        // 게시물 저장 작업
    }
    

3. 필터(Filter)

필터는 데이터가 데이터베이스에 저장되기 전이나 브라우저에 출력되기 전에 데이터를 수정할 수 있게 합니다.

필터 훅 사용 방법
  1. 필터 훅 추가

    • add_filter() 함수를 사용하여 특정 데이터에 함수를 추가합니다.
    function my_custom_title($title) {
        return 'Prefix - ' . $title;
    }
    add_filter('the_title', 'my_custom_title');
    
  2. 필터 훅 제거

    • remove_filter() 함수를 사용하여 특정 데이터에서 함수를 제거할 수 있습니다.
    remove_filter('the_title', 'my_custom_title');
    
주요 필터 훅
  • the_content: 게시물의 콘텐츠를 출력하기 전에 데이터를 수정합니다.

    add_filter('the_content', 'my_custom_content');
    function my_custom_content($content) {
        return $content . '<p>Custom content added at the end.</p>';
    }
    
  • the_title: 게시물의 제목을 출력하기 전에 데이터를 수정합니다.

    add_filter('the_title', 'my_custom_title');
    function my_custom_title($title) {
        return 'Prefix - ' . $title;
    }
    
  • wp_nav_menu_items: 네비게이션 메뉴 항목을 출력하기 전에 데이터를 수정합니다.

    add_filter('wp_nav_menu_items', 'my_custom_menu_items', 10, 2);
    function my_custom_menu_items($items, $args) {
        return $items . '<li><a href="#">Custom Link</a></li>';
    }
    

요약

워드프레스의 훅과 액션은 테마나 플러그인 개발 시 특정 이벤트에 맞춰 코드를 실행하거나 데이터를 수정할 수 있게 합니다. add_action()add_filter() 함수를 사용하여 원하는 기능을 추가하고, remove_action()remove_filter() 함수를 사용하여 불필요한 기능을 제거할 수 있습니다.

Q1: 워드프레스에서 사용자 정의 포스트 타입을 추가할 때 사용하는 주요 액션 훅은 무엇인가요?

Q2: 워드프레스에서 특정 조건에 따라 관리자 메뉴를 수정하려면 어떤 액션 훅을 사용해야 하나요?

Q3: 워드프레스에서 게시물 메타 데이터를 저장하거나 업데이트할 때 사용하는 필터 훅은 무엇인가요?

You wanna more detailed information?