나 자신을 위해 다음을 조합하여 사용합니다.
- 일회성 스크립트 전용 파일
- 일시적으로 스크립트를 실수로 두 번 이상 실행하지 못하도록 중지
- 기능 관리 또는 사용자 제어를 사용하여 스크립트를 직접 실행합니다.
구조
onetime.php
include-folder에 파일 ( )을 사용하는데,이 파일 inc
은에 포함되어 있으며 functions.php
사용 후 삭제됩니다.
include( 'inc/onetime.php' );
스크립트 자체의 파일
내에서 onetime.php
제 기능을 f711_my_onetime_function()
배치됩니다. 그것은 어떤 기능이 될 수 있습니다. 스크립트가 테스트되어 올바르게 작동한다고 가정합니다.
스크립트 실행을 제어하기 위해 두 가지를 모두 사용합니다.
기능 제어
다른 사용자가 실수로 스크립트를 실행하지 못하게하려면 :
if ( current_user_can( 'manage_options' ) ) // check for administrator rights
또는
if ( get_current_user_id() == 711 ) // check if it is me - I prefer restricting the execution to me, not to all admins.
일시적
실수로 스크립트를 두 번 이상 실행하지 못하게합니다.
$transient = 'f711_my_onetime_check';
if ( !get_transient( $transient ) ) // check if the function was not executed.
내 기능에서 스크립트를 실행하기위한 파일 f711_my_onetime_function()
은 다음과 같습니다.
$transient = 'f711_my_onetime_check';
if ( get_current_user_id() == 711 && !get_transient( $transient ) ) {
set_transient( $transient, 'locked', 600 ); // lock function for 10 Minutes
add_action( 'wp_footer', 'f711_my_onetime_function' ); // execute my function on the desired hook.
}
function f711_my_onetime_function() {
// all my glorious one-time-magic.
}
확인 후 바로 과도를 설정하는 이유 는 스크립트가 두 번 사용되는 것을 막은 후에 함수가 실행되기를 원하기 때문 입니다.
함수에서 출력이 필요한 경우 바닥 글에 주석으로 출력하거나 때로는 내용을 필터링하기도합니다.
잠금 시간은 10 분으로 설정되어 있지만 필요에 따라 조정할 수 있습니다.
대청소
내 스크립트의 성공적인 실행 후 나는 삭제 include
로부터를 functions.php
하고 제거 onetime.php
서버에서. 과도 시간 초과를 사용했기 때문에 데이터베이스를 정리할 필요는 없지만 파일을 제거한 후 과도를 삭제할 수도 있습니다.