멀티 사이트 플러그인에 대한 '글로벌'설정 페이지


24

다중 사이트 인스턴스에 설치 될 플러그인을 작업 중입니다.

"네트워크 관리자"레벨에서만 보이는 단일 설정 페이지를 작성하는 방법 – 내가 본 대부분의 안내서는 표준 블로그 레벨 플러그인과 관련이 있습니다. 정보에 대한 모든 링크가 유용 할 것입니다. 그렇지 않으면 사이트 전체의 태그를 통해 정보가 어떻게 수행되는지 확인할 것입니다.

[최신 정보]

sitewide_tags 가 add_site_option, get_site_option및을 사용하는 것처럼 보이고 update_site_option이러한 함수는 wp_sitemeta를 사용합니다. 그러나 내가 볼 수 있듯이 register_setting, add_setting 등을 지원하지 않으므로 옵션을 수동으로 가져 와서 설정해야합니다.

답변:


6

참고로

네트워크 또는 전역 설정을 만들려면 다음을 수행해야합니다.

  • 설정 페이지 추가

    add_submenu_page( 'settings.php'... # cf options.php for blog level`
  • 글로벌 옵션 추가

    add_site_option($key,$value)
  • 글로벌 옵션 업데이트

    update_site_option($key,$value)
  • 사이트 옵션 받기

    get_site_option($key)

글로벌 설정은 sitemeta테이블에 저장됩니다 (개별 블로그 설정은 <blog_id>_options테이블에 저장 됨)

  • 블로그 수준에서 설정 API가 작동 한다고 생각합니다. 따라서 sitemeta가 아니라 옵션 테이블을 사용합니다. 따라서 네트워크 수준에서 옵션 그룹 등을 사용할 수 없습니다 ( 이 문제가 있으면 의견을 보내주십시오 )

0

글쎄, 나는 최근에도 같은 요구에 직면했지만 대답도 몰랐다. 귀하의 질문에 대한 대답은 명시 적이 지 않지만 '기본'블로그 옵션에서 옵션 페이지를 작성하고 멀티 사이트가 활성화되어 있는지 확인하는 것입니다.

이상적인 방법은 아니지만 (나 같은) 자신 만의 용도로 내부 플러그인을 만들었 으면 가능합니다. 또한 관리 페이지에 대한 모든 일반 기능을 사용할 수 있다는 장점이 있습니다. 아직 전역 네트워크 관리 페이지 컨텍스트에없는 기능입니다.


0

당신이 사용하는 경우 add_submenu_page(), add_menu_page()등을하고 기대하는 설정 페이지의 사용을 고려하여 멀티 사이트 대시 보드에 표시하는 network_admin_menu대신 훅을admin_menu

예:

add_action( 'network_admin_menu', 'network_settings_page' );
function network_settings_page(){
    add_submenu_page(

        ...
    )
}

설정을 저장하려면 network_admin_edit_{ACTION}작업 후크를 사용할 수 있습니다 .

참조 : https://rudrastyh.com/wordpress-multisite/custom-tabs-with-options.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.