back to top
11.7 C
New York
목요일, 12월 19, 2024

Buy now

[워드프레스 Tips] PHP7의 마리안디비(MarianDB)에서 문구를 일괄 변경하기

1. 들어가며

무슨 바람이 불었는지 2주동안 새로운 테마를 몰색했습니다.
시작은 사이트 속도를 높이는 것이 중요하고 그러려면 무엇보다도 속도가 빠른 테마 선택이 중요하다는 말에 현재 테마의 속도에 만족하지 못해서 새로운 테마를 몰색했습니다.

며칠 서칭끝에 선택한 테마는 EXTRA라는 테마인데 이 테마는 포스팅을 화려하게 만들어주는 페이지 빌더 기능을 가지고 있어 잡지처럼 컨텐츠를 구성할 수 있다는 희망을 가지고 거금 89달러를 지불했습니다. 그것도 영구 소유가아닌 1년간 사용권으로.

지금 생각해보니 이성적이지는 않은 판단인 것 같은데요.

  • 이 테마는 빠르지는 않습니다. 화려하다보니 당연히 많은 이미지를 사용하므로 늦습니다. 기존에 적용하던 Colormag 테마와 비슷한 수준입니다.

  • 보다 테마 디자인이 수려합니다. 기능도 조금 더 많구요

  • 가장 강력한 것은 DIVI builder라는 페이지 빌더 기능입니다.

아무튼 이 테마를 적용했는데 여러가지 에러가 많이 발생하더군요.

오늘 이야기는 이 에러를 해결해가는 광정을 간략히 정리해 보았습니다.

2. 문제 – 유튜브가 비정상적으로 플레이 된다.

여러가지 문제가 발생하는데 그 문제 중 하나가 유튜브 동영상 관련된 것입니다.

아래 이미지처럼 재생 화면 높이가 2번 스크롤을 해야할 정도로 높아져서 보입니다.

problem in youtube script resize

도대체 문제가 뭘까? 왜 이 테마에서만 이럴까 고민해서 테마 판매처에 문의 메일을 넣으면 공식으로 문의 Ticket를 발행하라고하고 Ticket을 발행하려고하면 충분히 문서를 읽어보고 검색을 통해 유사 문제로 해결하라는 메세지가 나오면서 Ticket 발행이 않되더군요.

수십번 시도를 하다 열받아서 refund해달라는 요청메일을 보내놓은 상태입니다.

3. 문제 원인을 찾다 – 근본적인 이유는 모르지만

많은 포스팅이 유튜브 동영상을 인베드시켜놓았습니다.
유튜브 동영상들이 전부 문제가 있는지 살펴보았는데 다행히 일부만 문제를 보이고 있었습니다.

이 문제를 보이고 있는 유튜브동영상은 최근에 인베드시킬때 폭을 100%로 설정한 것들이 이 테마와 문제를 야기하고 있었습니다.

즉 아래와 같은 동영상 소스를

<iframe width="853" height="480" src="https://www.youtube.com/embed/OlxA8BxVMUw" frameborder="0" allowfullscreen></iframe>"

width=100%로 변경한 것이지요
에전에 사이트 폭에 맞추어 재생하게하는 방법으로 인터넷에서 소개되었던 팁이었는데요. 잘 쓰다가 문제가 생겼네요

<iframe width="100%" height="480" src="https://www.youtube.com/embed/OlxA8BxVMUw" frameborder="0" allowfullscreen></iframe>"

왜 문제를 야기하는지 궁금한데 테마 판매처에 문의할 수 있는 방안이 없어서.. Ticket을 거부하고 있어서..
급한대로 이 100%를 다른 워딩, 즉 원래대로 853등으로 변경하기로 합니다.

이를 포스팅한 내용을 일일히 바꾸어야 할까요?

No, No !! 넘 많으므로 DB에서 수정하는 방법을 찾아봅니다.

4. 마리안디비(MarianDB) 수정 방법

최근 PHP를 7.03으로 변경하면서 DB를 MarianDB 10으로 변경했는데요. 이 DB에서 사용할 수 있는 명령어를 찾아보았습니다.

4.1. replace syntax 사용 검토

인터넷에서 MarianDB로 적절한 명령어를 찾아보니 replace가 있네요.

아래처럼 제안하고 있었습니다.

REPLACE(str,from_str,to_str)

이를 이용해서 아래와 같이 SQL 명령을 넣었습니다.

SELECT REPLACE('iframe width="100%" height=','100%','883')

그랬더니 에러 메세지를 뽐어냅니다.

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available

4.2. upadate syntax 사용 검토

혹시나해서 예전에 XE에서 워드프레스로 이전 시 활용했던 update문을 밑져야 본전이므로 사용해 보았습니다. 당근 DB는 backup해 놓았구요.

update문의 기본 문법은 아래와 같습니다.

UPDATE [테이블] SET [열] = '변경할값' WHERE [조건]

이를 토대로 SQL 쿼리를 만들었습니다.

UPDATE wp_posts SET post_content = replace(post_content, 'iframe width="100%"', 'iframe width="883"');

이게 처음에는 안되더라구요…
공백때문에 그런것인지 .. 고민하다 ' "를 명확히 구분하고 실행하지 되더군요..

질의 상자 보이기
169 열에 적용되었습니다. (질의 실행시간 0.2850 초.)
UPDATE wp_posts SET post_content = replace(post_content, 'iframe width="100%"', 'iframe width="883"') /span>

5. 마치며 – MarianDB에서 update로 일부 문구를 변경 가능

PHP 7에 사용하는 MarianDB에서도 DB에서 일부 문구를 변경할시 MySQLDB처럼 update문을 사용해 문구를 변경 대체할 수 있습니다.

상식적인 이야기일지 모르나 초보에게는 넘 어려운 이야기라서 적어보았습니다.

spot_img

Latest articles

Related articles

spot_img