bestsource

제목 직후에 커스텀 투고 유형 편집 화면에 버튼/링크 추가

bestsource 2023. 3. 10. 22:38
반응형

제목 직후에 커스텀 투고 유형 편집 화면에 버튼/링크 추가

클라이언트의 WordPress 설치 백엔드를 커스터마이즈하고 있으며, 몇 가지 커스텀 포스트 타입을 추가했습니다.1 페이지 내의 커스텀루프를 통해 프런트 엔드에 표시되므로 사용자는 개별 커스텀 투고에 액세스해서는 안 됩니다.

실수로 액세스되지 않도록 게시물 보기 버튼이 있는 Permalink 선택 상자를 제거했습니다.페이지 상단의 Add New Employee 옆에 View Post 링크를 추가하고 싶습니다.(가능하지 않다면 신규 직원 추가 버튼을 가로채서 교체하는 것으로 하겠습니다.)

버튼을 거기에 놓을 WordPress 훅을 찾고 있는데, 아직 아무것도 못 찾았어요.제가 찾은 가장 가까운 것은 WP Core 블로그에 올린 글입니다.edit_form_advanced,edit_form_after_editor,edit_form_after_title이 경우, 리스트 되어 있는 것은 모두 동작하지 않습니다.

추가하려는 버튼은 다음 PHP입니다.

<a class="add-new-h2" href="<?php echo $displaypage.get_the_title($post_ID); ?>">View <?php echo $posttype; ?></a>

와 함께$displaypage비슷한 무엇인 모양'/about-us/our-people/#'

정말이지, 내가 필요한 건 그걸 끼울 방법을 찾는 거야.추가하는 방법을 알게 되면 무엇을 추가할지 알 수 있습니다.

시험

편집:

javascript를 사용하여 후크를 전혀 사용하지 않고 버튼을 삽입할 수 있다는 것을 알고 있습니다.JS를 무효로 하는 사람이나 접속이 매우 느린 사람(jQuery는 페이지가 완전히 로드될 때까지 활성화되지 않기 때문에 그 상황에서는 늦게 플래시가 켜집니다)의 경우는 가능하면 피하고 싶습니다.

WP Core의 게시물에서 인용되지 않은 후크는 하나뿐이며, 원하는 위치에 가장 가까운 유일한 후크인 것 같다.

여기에 이미지 설명 입력

문제는 말이다Add New (post type)에 싸여 있다.<h2>태그(같은 파일의 365행)를 지정하면 그 뒤에 훅이 발생합니다.

add_action( 'edit_form_top', 'top_form_edit' );

function top_form_edit( $post ) {
    if( 'portfolio' == $post->post_type )
        echo "<a href='#' id='my-custom-header-link'>$post->post_type</a>";
}

남은 유일한 옵션은 jQuery를 사용하여 DOM을 조작하는 것입니다.

add_action( 'admin_head-post.php', 'manipulate_dom' );
add_action( 'admin_head-post-new.php', 'manipulate_dom' );

function manipulate_dom()
{
    // Not our post type, exit earlier
    // Adjust post type
    if( 'portfolio' != get_current_screen()->post_type )
        return;
    ?>
    <script type="text/javascript">
        jQuery(document).ready( function($) 
        {
            // your thing
            // $('#my-custom-header-link').moveAround();        
        });     
    </script>
    <?php 
}

같은 문제에 부딪혔을 때 사용한 솔루션은 다음과 같습니다.

  • 'motin_notices'에 푹 빠졌습니다.

  • 내 머리글을 다시 썼다.

  • 는 CSS를 사용하여 다음과 같이 기존 헤더를 숨깁니다.

    function rewrite_cpt_header(){
           $screen = get_current_screen();
         if( $screen->id !='edit-location' ){
             return;
         } else {
             ?>
             <div class="wrap">
             <h1 class="wp-heading-inline show" style="display:inline-block;">Locations</h1>
             <a href="<?php echo admin_url('post-new.php?post_type=location'); ?>" class="page-title-action show">Add New Location</a>
             <a href="<?php echo admin_url('edit-tags.php?taxonomy=location_types&post_type=location'); ?>" class="page-title-action show">Edit Location Types</a>
             </div>
    
             <style scoped>
             .wp-heading-inline:not(.show),
             .page-title-action:not(.show) { display:none !important;}
             </style>
             <?php
         }
     }
     add_action('admin_notices','rewrite_cpt_header');
    

언급URL : https://stackoverflow.com/questions/22261284/add-button-link-immediately-after-title-to-custom-post-type-edit-screen

반응형