programing

WordPress 페이지 내에서 다른 편집 가능한 섹션을 작성하려면 어떻게 해야 합니까?

subpage 2023. 3. 25. 11:05
반응형

WordPress 페이지 내에서 다른 편집 가능한 섹션을 작성하려면 어떻게 해야 합니까?

WordPress에서 첫 번째 테마를 만들고 있는데 여러 섹션에 콘텐츠를 추가하는 과정에서 문제가 발생했습니다.

제 HTML은 약간 이런 느낌이지만

<div id="maintext">
   <-- Text -->
</div>
<div id="products">
   <-- Text and Images -->
</div>
<div id="about_company">
   <-- Text boxes -->
</div>

WordPress 편집기를 통해 추가된 콘텐츠가 각 div에 포함되도록 하려면 어떻게 해야 합니까?"maintext" div의 경우 페이지 자체에서 콘텐츠를 로드합니다만, 다른 2개의 div에 동적으로 콘텐츠를 추가하려면 어떻게 해야 합니까?

몇 개의 포럼에서 검색했는데, 위젯을 사용하여 콘텐츠를 추가하자는 의견이 많았는데, 위젯을 사용하지 않고 할 수 있는 방법은 없습니까?

어떤 도움이라도 기꺼이 고맙게 받겠습니다.

유감스럽게도 WordPress만으로는 편집 가능한 필드를 한 페이지에 여러 개 추가하는 것이 쉽지 않습니다.

내가 알고 있는 많은 WP Dev(자체 포함)는 추가 콘텐츠 필드를 위해 Advanced Custom Fields Plugin에 의존합니다.

이를 실현하기 위한 순서는 다음과 같습니다.

1) ACF 플러그를 설치합니다.
2) ACF 설정 영역에 새로운 필드를 만듭니다.
3) 특정 페이지 또는 페이지 세트에 대해 표시할 새 필드를 할당합니다.
4) 새로운 필드가 표시되도록 지정된 페이지의 페이지 템플릿을 업데이트합니다.

예를 들어 표준 wysiwyg 필드 세트를 만든 다음 '개요' 페이지에 할당할 수 있습니다.main_text, products_info 및 about_company 필드를 호출합니다.필드가 생성되어 페이지에 할당되면 해당 페이지를 편집할 때 추가 필드를 편집할 수 있습니다.

이러한 새 필드를 방문자가 보려면 개요 페이지에 사용하는 페이지 템플릿에 추가해야 합니다.코드는 다음과 같습니다.

<div id="maintext">
   <!-- Text -->
   <?php if(get_field('main_text')){ //if the field is not empty
        echo '<p>' . get_field('main_text') . '</p>'; //display it
    } ?>
</div>
<div id="products">
   <!-- Text and Images -->
   <?php if(get_field('products_info')){ //if the field is not empty
        echo '<p>' . get_field('products_info') . '</p>'; //display it
    } ?>
</div>
<div id="about_company">
   <!-- Text boxes -->
   <?php if(get_field('about_company')){ //if the field is not empty
        echo '<p>' . get_field('about_company') . '</p>'; //display it
    } ?>
</div>

여기에는 좋은 가 많이 있습니다.만약 당신이 정말로 야심차다면, 플러그인을 설치하는 대신 당신의 테마에 직접 ACF를 포함할 수도 있습니다.

세 가지 옵션이 있다고 생각합니다.

  1. 내용을 텍스트 위젯에 표시할 수 있는 위젯 영역을 만듭니다.http://codex.wordpress.org/Function_Reference/register_sidebar
  2. 템플릿을 생성하여 다른 페이지의 내용을 가져옵니다.http://codex.wordpress.org/Page_Templates#File_Folders
  3. 모든 페이지에 대해 새로운 메타박스를 만듭니다.http://codex.wordpress.org/Function_Reference/add_meta_box

저는 당신이 찾고 있는 것이 옵션 2라고 생각합니다.모든 페이지에 추가 내용을 표시하려면 다른 항목은 전체 사이트 지향입니다.

테마를 작성하는 경우 WordPress Framework를 사용하여 처음부터 시작할 필요가 없습니다.

그렇지 않은 경우 최종 사용자를 고려합니다.페이지와 투고에 섹션을 어떻게 추가합니까?WordPress UI 내의 여러 곳을 이동해야 합니까, 아니면 사용자 단축 코드를 사용하는 것이 좋습니까?

문서 내용 내에서 섹션을 렌더링하는 플러그인을 구축하는 것이 좋습니다.또는 위젯 콘텐츠도 사용할 수 있습니다.

어떻게 그런 일을 해낼 수 있는지 설명하기 위해 코드를 조금 작성했습니다.또한 지금 당장 그것이 필요하기 때문입니다.Dgithub에서 찾을 수 있습니다.https://github.com/lionpage/Front-Office-Document-Sections

도움이 되었으면 좋겠다

<div id="maintext">
   <?php the_content(); ?>
</div>
<div id="products">
   <?php // echo wp function to get product data; ?>
</div>
<div id="about_company">
   <?php // echo wp function to get about companydata; ?>
</div>

저는 이 문제에 대해 여러 번 부딪혔고, 3년 전 질문이지만, 여전히 꽤 최신이라고 생각합니다.여러 컨텐츠 블록 플러그인을 사용한 적이 있습니다.

https://ltz.wordpress.org/plugins/multiple-content-blocks/

한 후, '부재하다'를 포함할 수 .the_block템플릿에서 다음을 수행합니다.

<div id="maintext">
   <?php the_content(); ?>
</div>
<div id="products">
   <?php the_block('products') ?>
</div>
<div id="about_company">
   <?php the_block('company') ?>
</div>

안녕하세요, 저는 현재 그 셋업으로 테마를 개발하고 있습니다.이것을 실현하는 방법은 두 가지가 있습니다.

위젯화된 고정 관리 패널(커스터마이저 옵션)

위젯 섹션이 포함된 .widget 파일을 작성하고 해당 섹션의 위젯을 작성하는 경우 테마에서 두 가지를 사용합니다.

관리 패널에서 수정된 경우 기능에 .discloss 섹션을 포함해야 합니다.php

widgetized의 장점은 일반 사이드바처럼 정렬할 수 있다는 것입니다.

이 문제로 어려움을 겪고 있어서 플러그인을 사용하고 싶지 않았습니다.찾은 유일한 WordPress 기본 옵션은 사용자 정의 필드를 사용하는 이었습니다.이것은 텍스트용으로만 작동하며 다소 번거롭습니다.

다른 비플러그인 옵션은 단순히 WordPress 편집기에서 HTML을 사용하는 것이지만, 이 또한 물론 이상적인 것과는 거리가 멀다.

결국 포기하고 Advanced Custom Fields 플러그인도 선택했습니다.

언급URL : https://stackoverflow.com/questions/18628888/how-do-i-create-different-editable-sections-within-a-wordpress-page

반응형