홈페이지 » WordPress » 모든 개발자가 알아야 할 15 가지 유용한 WordPress 기능

    모든 개발자가 알아야 할 15 가지 유용한 WordPress 기능

    WordPress에는 개발자가 사용할 수있는 훌륭한 기능이 가득합니다. 우리는 게시물 목록을 얇은 공기에서 꺼내어 거의 모든 것을 조작하고, 우리가 원하는 모든 사용자를 붙잡고, 소셜 미디어 연결을 한 눈에 보여줄 수 있습니다..

    그러나 알 수없는 이유로 간과되는 것처럼 보이는 기능이 많이 있습니다. 나는 약 8 년 동안 WordPress로 코딩 해왔고 가끔은 여전히 ​​새로운 것을 발견합니다! 몇 가지를 살펴 보겠습니다. 간과하기 쉬운 기능 방법을 따라 그들을 사용하는 법을 배우십시오..

    antispambot ()

    나는 보통 이것으로 몇 가지 눈썹을 올리며, 코드베이스에서 가장 잘 숨겨진 기능 중 하나 인 것 같다.. antispambot () HTML 엔터티로 문자를 대체합니다. 가면 이메일 주소 사악한 사람에게서.

     $ email = '[email protected]'; 에코 '나에게 연락 할 수있어.' antispambot ($ 이메일). '언제든지'. 

    이것은 유용한 맛있는 음식이지만, 일부 사람들이 WordPress를 비판하는 이유의 예이기도합니다. 이것은 끔찍한 이름의 기능입니다. 함수 이름을 읽는 것으로부터, 당신은 그것이 무엇을하는지 전혀 모른다..

    human_time_diff ()

    내가이 기능에 대해 1 년 전에 처음 알았을 때 나는 그것이 내가 changelog에서 간과 한 최근의 추가 일 것임에 틀림 없다고 생각했다. 좀 빠지는…

    두 개의 타임 스탬프 간의 차이를 출력하는이 기능은 버전 1.5 이후입니다 (2018 년 2 월 17 일입니다!)..

    코덱스에서 빌린 다음 위대한 발췌 문장은 현재 게시물이 얼마나 오래 게시되었는지를 보여줍니다. 그것은 게시물의 날짜를 첫 번째 인수로 게시하십시오. 그리고 현재 날짜를 두 번째 날짜로.

     echo '이 게시물이 게시되었습니다'. human_time_diff (get_the_time ( 'U'), current_time ( 'timestamp')). '전에'; 

    get_post_meta ()

    여기에 나와 함께 곰, 나는 이것이 잘 사용되는 기능이라는 것을 알고 있지만, 그것이 어떻게 작동하는지는 그렇게 일반적인 지식이 아닙니다. 우선, 두 번째 및 세 번째 매개 변수를 생략함으로써 게시물의 모든 메타 데이터 가져 오기.

     $ all_meta = get_post_meta (14); 

    비록 하나의 키에 대한 데이터 만 가져 오더라도 모든 포스트 메타는 어쨌든 가져옵니다..

    그 이유는 실제로 꽤 논리적입니다. 메타 데이터는 여러 곳에서 사용됩니다. 만약 get_post_meta () 데이터베이스를 사용할 때마다 쿼리하므로 너무 많은 쿼리가 끝날 것입니다. 대신 메타 데이터를 가져 오면 모든 메타 데이터를 캐시하고 모든 후속 메타 데이터 검색에서 캐시 된 값을 사용합니다.

    wp_upload_bits ()

    이 기능은 똑바로 작동합니다. 파일 업로드 기능. 파일을 업로드 폴더로 옮기지 않고 WordPress 미디어 섹션에 추가하지는 않지만 매우 편리합니다. wp_insert_attachment () 기능.

     $ upload = wp_upload_bits ($ file [ 'name'], null, file_get_contents ($ file [ 'tmp_name'])); 

    여기에 대한 설명이 있습니다. 첫 번째 매개 변수는 파일 이름입니다. 두 번째는 감가 상각되어 있으므로 null로 설정해야합니다 (WordPress 일관성에 대한 내용). 세 번째 매개 변수는 파일의 실제 내용입니다..

    get_post_field ()

    이전에는 누군가가 게시물에 대한 의견 수를 얻기 위해 루프를 작성했거나이를 위해 전용 데이터베이스 쿼리를 작성한 예가있었습니다. 너는 그들을 필요로하지 않는다. 필요한 것은 무엇인가? get_post_field (). 이 함수 단일 게시물의 단일 필드 값을 검색합니다. 데이터베이스에. 코멘트 수를 집어 봅시다.!

     이 소식에는  코멘트. 

    wpautop ()

    이 기능은 약간의 주목을 받고 있지만 아직까지는 비교적 알려지지 않았습니다. 그것은 PHP 네이티브와 비슷합니다. nl2br 새로운 줄을 만드는 대신 단락에 콘텐츠를 래핑합니다..

    이것은 텍스트 상자가 있고 사용자가 이중 줄 바꿈으로 단락을 만들 때 프런트 엔드에서도 볼 수 있도록하려는 경우에 유용합니다.

     

    사용자가 말하는 것

    wp_is_mobile ()

    이 적절하게 명명 된 함수 사용자가 휴대 기기에있을 때이를 감지하고 그에 따라 콘텐츠를 표시 할 수 있습니다.. 이 태그는 조건부 태그이므로 시나리오에 따라 true 또는 false를 반환합니다..

      더 풍부한 사용자 경험을 위해 데스크탑의 웹 사이트를 방문하십시오.  

    wp_redirect ()

    마지막 예제는 또 다른 깔끔한 함수를 보여줍니다 : wp_redirect (). 이것은 PHP 네이티브 대신 사용되어야합니다. 머리글() 기능. WordPress 리디렉션 기능으로 리디렉션 할 URL을 설정하고 상태 코드도 설정하십시오., 영구적 인 리디렉션 처리에도 적합합니다..

     // 더 이상 사용되지 않는 URL의 경우 wp_redirect ( 'http://website.com/new-url/', 301); 

    paginate_links ()

    이 함수는 WP-PageNavi 플러그인의 인기에 부분적으로 모호함을 가지고 있다고 생각합니다. 기본적으로 워드 프레스로 게시물 목록 끝에있는 이전 / 다음 링크를 표시합니다.. WP- PageNavi 페이지 번호로 바꿉니다..

    이것은 실제로 작은 작업으로 할 수 있습니다. paginate_links () 기능. 꽤 많은 매개 변수가 있으므로 문서를 살펴 보시기 바랍니다..

    코덱스의 다음 예제는 기본 루프에 추가하는 방법을 보여 주지만 사용자 정의 루프에 추가하는 방법은 그다지 스트레칭이 아닙니다..

     전역 $ wp_query; $ big = 999999999; // 가능성없는 정수가 필요하다. paginate_links (array ( 'base'=> str_replace ($ big, '% # %', esc_url (get_pagenum_link ($ big))), 'format'=> '? paged = % # %' , 'current'=> max (1, get_query_var ( 'paged')), 'total'=> $ wp_query-> max_num_pages));

    wp_die ()

    이 함수는 PHP를 보완합니다. 주사위() 기능. 차이점은이 함수는 일반 텍스트 대신 WordPress 스타일의 HTML을 표시한다는 것입니다. 이 함수를 사용하여 PHP 실행을 중지 할 수 있습니다. 표시 할 메시지, 제목 및 추가 인수를 추가 할 수 있습니다. 예를 들면 다음과 같습니다.

     wp_die ( "죄송합니다.", "Permission Denied"에 대한 액세스 권한이 없습니다.); 

    has_block ()

    버전 5.0에서 WordPress는 블록 기반 편집기 인 코드 명 구텐베르그 (Gutenberg)를 도입했습니다. 이 함수는 콘텐츠에 Gutenberg가 포함되어 있는지 여부를 식별합니다. has_shortcode () 기능. 돌아올거야. 참된 콘텐츠에 블록이 포함되어 있거나 그릇된 그렇지 않은 경우.

    wp_set_script_translations ()

    WordPress 사용자 인터페이스의 많은 부분이 JavaScript로 이동하기 때문에 WordPress가 구문 분석하고 이해할 수있는 JavaScript에 번역 가능한 텍스트를 등록하는 편리한 방법이 필요합니다. 이 함수를 사용하여 스크립트에 번역 된 문자열을 설정하십시오. 아래는 그 예입니다 :

    wp_enqueue_script ( 'my-script', plugins_url ( 'js / my-script.js', __FILE__)); wp_set_script_translations ( 'my-script', 'mu-text-domain');

    register_block_type ()

    WordPress 5.0의 또 다른 눈에 띄는 기능. 이 기능을 사용하면 새 WordPress 편집기에 새 블록을 등록 할 수 있습니다. 블록이 새 편집기에 표시되고 삽입됩니다. .

    '메가폰', 'category'=> 'widget', 'render_callback'=> 'render_function_callback'= register_block_type ( '내 플러그인 / 새 블록', array ( '제목'=> '새 블록' ,)));

    rest_do_request ()

    이 함수를 사용하면 PHP를 통해 WordPress REST API 끝점을 호출 할 수 있습니다. 브라우저 (프런트 엔드)가 아닌 PHP 측에서 처리하도록 처리하기 위해 REST API의 출력을 검색해야하는 경우 매우 유용합니다..

    $ request = new WP_REST_Request ( 'GET', "/ wp / v2 / posts"); $ request-> set_header ( 'X-WP-Nonce', wp_create_nonce ( 'wp_rest')); $ 응답 = rest_do_request ($ 요청); $ data = 200 === $ response-> get_status ()? $ 응답 -> get_data () : [];

    rest_preload_api_request ()

    WordPress에서 JavaScript가 많은 UI를 만들 때 일반적으로 페이지 내에 미리로드 된 일련의 초기 데이터가 필요합니다. 그렇게 할 수있는 기능입니다. 이 기능은 array_reduce, 예를 들면.

     // 사전로드 공통 데이터. $ preload_paths = array ( '/', '/ wp / v2 / types? context = 편집', '/ wp / v2 / 택 소노 미 per_page = -1 & context = 편집', '/ wp / v2 / themes? status = active' ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', array ()); wp_add_inline_script ( 'wp-api-fetch', sprintf ( 'wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s))', wp_json_encode ($ preload_data)), '이후'); 

    결론

    이것들은 나머지 부분보다 덜 알려져있는 것처럼 보이는 몇 가지 기능입니다. 2 달에 한 번씩 새로운 기능을 발견하고 거기에있는 개발자 친구가 우리를 더욱 놀라게 할 것이라고 확신합니다..

    유용하지 않거나 사용 가능하지 않은 기능 중 좋아하는 모호한 기능이 있거나 의견이 있으면 알려주십시오.!