programing

wordpress 배열에 wp_param을 추가하는 방법

copysource 2023. 3. 26. 14:19
반응형

wordpress 배열에 wp_param을 추가하는 방법

워드프레스 코드에 작은 문제가 있어서 값 배열이 있는 페이지에 워드프레스 wp_editor를 표시해야 합니다.값은 다음과 같이 정의됩니다.

    $fields[] = array(
        'name' => __('Class', 'my-theme'),
        'desc' => __('', 'my-theme'),
        'id' => 'class'.$n,
        'std' => ( ( isset($class_text[$n]['class']) ) ? $class_text[$n]['class'] : '' ),
        'type' => 'text');

위의 배열과 같이 wp_editor를 정의하면 원하는 위치에 표시되지 않습니다.대신 모든 편집자는 모든 페이지의 내용 앞에 맨 위에 표시됩니다.

에디터용으로 다음과 같은 어레이 세트를 사용해 보았습니다.

    $fields[] = array(
        'name' => __('My Content', 'my-theme'),
        'id' => 'sectioncontent'.$n,
        'std' => ( ( isset($class_text[$n]['content']) ) ? $class_text[$n]['content'] : '' ),
        'type' => wp_editor( '', 'sectioncontent'.$n ));

문제의 이미지를 첨부했습니다.

여기에 이미지 설명 입력

원인

기본적으로는 wp_editor는 텍스트 영역을 인쇄하기 때문에 변수나 배열에 할당할 수 없습니다.

솔루션

php 출력 버퍼링을 사용하여 다음과 같은 변수에서 인쇄 데이터를 가져올 수 있습니다.

ob_start(); // Start output buffer

// Print the editor
wp_editor( '', 'sectioncontent'.$n );

// Store the printed data in $editor variable
$editor = ob_get_clean();

// And then you can assign that wp_editor to your array.

$fields[] = array(
        'name' => __('My Content', 'my-theme'),
        'id' => 'sectioncontent'.$n,
        'std' => ( ( isset($class_text[$n]['content']) ) ? $class_text[$n]['content'] : '' ),
        'type' => $editor); // <-- HERE

Redux Framework를 사용하여 테마/플러그인 옵션 페이지를 설정하는 것처럼 보입니다.기본 WYSIWYG (What You See Is You Get - 백엔드의 편집 포스트 페이지에서 얻은 에디터와 같은 에디터)를 추가하려면 "editor" 라고 입력해야 합니다.

혼란스러울 수 있습니다.wp_editor()사용하고 있는 기능은, 이 옵션 페이지를 처음부터 셋업 할 때는 적절한 장소입니다만, 원하는 장소와 방법을 표시하려면 , 많은 작업이 필요합니다.Redux 등은 에디터를 생성함으로써 이 작업을 보다 쉽게 할 수 있습니다.따라서 wp_editor 함수를 사용하는 대신 'My Content'라는 에디터 필드를 페이지의 필드 중 하나로 만들고 싶다고 Redux에게 말하면 됩니다.

에디터 필드의 메뉴얼은, https://docs.reduxframework.com/core/fields/editor/ 를 참조해 주세요.

redux 를 사용하고 있는 것이 맞다면, 사용하고 있는 것을 치환하는 올바른 코드는 다음과 같습니다.

 $fields[] = array(
        'name' => __('My Content', 'my-theme'),
        'id' => 'sectioncontent'.$n,
        'std' => ( ( isset($class_text[$n]['content']) ) ? $class_text[$n]['content'] : '' ),
        'type' => 'editor');

이 필드 배열의 다른 부분에 대해 설명하려면:

  • '이름'은 이 필드의 라벨에 표시됩니다.이 경우 워드프레스의 현지화 기능을 사용합니다(__())를 사용하여 'my-discription' 도메인의 로컬 사전에서 구문을 가져옵니다.
  • 'id'는 이 필드에 입력된 내용을 가져오는 데 사용됩니다.또한 옵션 페이지의 HTML 요소에 할당된 ID 속성에도 영향을 미칩니다.
  • 'std'는 필드의 기본값입니다. 사용자가 옵션을 설정하기 전에 옵션 페이지가 처음 표시될 때 필드의 값이 됩니다.

을 통해 줄을 "wpautop"으로 대체할 합니다.<p>로는 둘 다

언급URL : https://stackoverflow.com/questions/33295196/wordpress-how-to-add-wp-editor-in-an-array

반응형