>  Q&A  >  본문

여러 재작성 규칙은 PHP 사용자 정의 기사를 연결합니다.

<p>저는 PHP를 처음 접했고 일부 링크의 구조를 변경하기 위해 몇 가지 재작성 규칙을 적용하려고 합니다. 일부 발견된 코드를 시도했는데 이 코드는 for 루프에서 지정한 첫 번째 사용자 정의 게시물 유형에만 작동합니다. 내가 지정한 모든 사용자 정의 게시물 유형(이 게시물 유형의 이름은 배열에 있음)에 대한 링크를 변경하는 for 루프를 만들고 싶습니다. 여기 재작성 규칙 코드가 있습니다. </p> <pre class="brush:php;toolbar:false;">function mycustomname_link($post_link, $post = 0) { if($post->post_name === $name_of_my_post) { return home_url('new' .'/'. 'posts'.'/'. $post->post_name .'/'. $post->ID . '/'); } 또 다른{ $post_link 반환; } } add_filter('post_type_link', 'mycustomname_link', 1,3); 함수 mycustomname_rewrites_init(){ add_rewrite_rule('new/posts/([^/]+)/([0-9]+)?$', 'index.php?post_type=nature_posts&p=$matches[1]&p;p=$matches[ 2]', '상단'); 플러시_재작성_규칙(); } add_action('init', 'mycustomname_rewrites_init'); </pre> <p>함수에 return 문이 있어서 첫 번째 반복과 첫 번째 사용자 정의 게시물 이름에만 다시 쓰기 규칙을 적용합니다. 지정된 모든 post_name과 그렇지 않은 게시물 이름에 대해 작동하도록 for 루프를 만드는 방법은 무엇입니까? 첫 번째 반복에서 중지하시겠습니까? </p>
P粉393030917P粉393030917423일 전447

모든 응답(1)나는 대답할 것이다

  • P粉605233764

    P粉6052337642023-07-28 00:14:02

    다음을 시도해 볼 수 있습니다.

    mycustomname_link 함수에서 $custom_post_types 배열을 반복하는 루프를 추가했습니다. 각 사용자 정의 게시물 유형에 대해 현재 게시물 유형이 배열의 이름과 일치하는지 확인합니다. 일치하는 항목이 있으면 다시 쓰기 규칙이 적용됩니다.
    마찬가지로 mycustomname_rewrites_init 함수에 모든 사용자 정의 게시물 유형에 대한 다시 쓰기 규칙을 등록하는 루프를 추가했습니다. 각 사용자 정의 게시물 유형에는 자체 재작성 규칙이 있습니다.

    이 수정을 통해 재작성 규칙은 첫 번째 반복에서 멈추지 않고 $custom_post_types 배열에 지정된 모든 사용자 정의 게시물 유형에 적용됩니다. 재작성 규칙에 포함하려는 모든 사용자 정의 게시물 유형의 이름으로 $custom_post_types 배열을 업데이트해야 합니다.


    으아악

    회신하다
    0
  • 취소회신하다