[WP] 포스트 상하단에 애드센스 광고 노출 플러그인

워드프레스 포스트 상하단에 구글 애드센스 광고를 출력하는 플러그인이다. 애드센스 광고 설정 기능은 제공하지 않는 단순한 기능의 플러그인으로 플러그인 적용 전 post-adsense.php 파일에서 자신의 애드센스 광고 설정을 해야 정상적으로 광고가 노출된다.

플러그인 : post-adsense.zip

$top_ads와 $btm_ads 부분 에서 data-ad-client, data-ad-slot 값을 자신의 애드센스 설정으로 반드시 변경하셔야 합니다.

[PHP] 그누보드5 게시글 등록 텔레그램 Push 알림 플러그인

지난 주에 작성한 포스트를 바탕으로 그누보드5에서 게시글 등록 때 Telegram(텔레그램)에 Push 알림을 보내는 플러그인을 만들었다. 게시글 등록 때는 관리자에게 알림이 전송되고 댓글은 게시글 작성자에게 알림이 전송된다. 이 플러그인을 활용해서 그누보드5 메모 수신 등의 알림을 텔레그램으로 전송할 수 있는데 이것은 플러그인의 수정이 필요하다. 텔레그램으로 메세지를 전송하는 Class 는 아래와 같다.

Telegram 플러그인 : telegram.push.zip

Read More

[WP] 워드프레스 포스트에 사진의 EXIF 정보 플러그인

포스트 내용 중에 포함된 사진의 EXIF 정보를 출력하기 위해 테마 파일에 추가했던 코드를 따로 빼서 플러그인으로 만들었다. 워드프레스 플러그인은 이번이 처음이라 제대로 한 것인지 자신은 없지만 일단 나중을 위해서라도 기록해두는 것이 좋을 듯 하여 포스팅한다.

이름은 대충 post-exif-info 라고 했다. 아래는 플러그인 파일의 코드이다.

플러그인 : post-exif-info.zip

사용하는 테마에 따라서 사진의 EXIF 정보가 출력되지 않는 경우가 있을 수 있는데 이럴 경우 플러그인 exif.lib.php 파일의 get_post_photos 함수 중 아래 코드의 패턴을 수정해야 한다.

워드프레스 플러그인 개발은 좀 더 살펴보고 싶다는 생각이 든다.

 

2017.11.15 추가
ngx_pagespeed 모듈을 서버에 적용했더니 위의 정규식 $pattern 형태가 일치하지 않아 아래처럼 $pattern 값을 아래처럼 변경

pagespeed 모듈의 설정을 변경하면 또 이래야할 것 같은데.. 큰 일이다.

[PHP] Slack Webhook을 이용한 그누보드5 게시글 등록 알림

기존에 공개했던 레거시 토큰을 이용한 Slack 메세지 전송 플러그인을 Webhook을 이용한 방식으로 변경한 그누보드5용 플러그인이다. 토큰의 경우 유출됐을 때 보안 문제 등의 위험이 있기 때문에 Webhook을 이용한 방법을 이용하는 것이 좋다. 그리고 수정한 플러그인은 attachments 속성을 이용하기 때문에 전송되는 메세지를 좀 더 유연하게 커스터마이징 할 수 있다.

slack.webhook.zip

Github : https://github.com/chicpro/youngcart5/commits/slack-webhook

Slack Incoming WebHooks : https://api.slack.com/incoming-webhooks
WebHook App : https://my.slack.com/services/new/incoming-webhook/

플러그인을 사용하기 위해서는 첨부된 파일을 다운로드 후 압축해제하고 해당 디렉토리에 파일을 복사한다. skin 디렉토리의 2개 파일은 게시판에서 사용 중인 스킨 디렉토리에 복사한다. 각각 게시글 등록, 댓글 등록 알림을 처리하는 파일이다. 게시판의 스킨이 다르고 각각 Slack의 다른 채널로 알림을 보내고자 한다면 2개의 스킨 파일을 각 스킨 디렉토리에 복사하고 채널별 Webhook App 생성한 후 아래 코드에서 27, 28 라인의 설정을 각기 지정하면 된다.

위와 같은 방법으로 게시글과 댓글의 알림을 서로 다른 채널에 전송할 수도 있다.

[PHP] onesignal을 이용한 그누보드5 글등록 webpush ssl 적용

이전 포스트에서 Onesignal 서비스를 이용해서 글등록 알림 Webpush를 구현했는데 보안서버(SSL) 환경에서는 다른 방법으로 구현이 되어야 하기에 파일 및 코드를 그에 맞게 수정했다.

onesignal.webpush.ssl.zip

기존 버전에서 변경된 내역은 아래 Github 링크를 통해 확인할 수 있다.
https://github.com/chicpro/youngcart5/commit/4463b74b4174dd1e2a75e1c1975d8b901e72fa6a

압축 파일을 다운로드하여 압축을 해제한 후 plugin/onesignal/mainfest.json 파일의 아래 코드를 사이트에 맞게 수정한다.

WebPush 앱 생성은 https://documentation.onesignal.com/v3.0/docs/web-push-sdk-setup-https 를 참고한다.

기능 테스트는 https://yc5.codepub.net/bbs/board.php?bo_table=free 를 방문해서 할 수 있다.

ONESIGNAL 지원 브라우저 : https://documentation.onesignal.com/docs/web-push-setup#section-platform-support