\r\n
- The file must be of a type that CloudFront compresses.<\/li>\r\n
- The file size must be between 1,000 and 10,000,000 bytes.<\/li>\r\n
- The response must include a Content-Length header so CloudFront can determine whether the size of the file is in the range that CloudFront compresses. If the Content-Length header is missing, CloudFront won't compress the file.<\/li>\r\n
- The response must not include a Content-Encoding header.<\/li>\r\n<\/ul>\r\nServing Compressed Files - Amazon CloudFront<\/a><\/cite><\/blockquote>\r\n\r\n\u3053\u308c\u306e\u300cThe response must include a Content-Length header so CloudFront can determine...\u300d\u304c\u5f15\u3063\u304b\u304b\u3063\u3066\u308b\u3093\u3067\u3059\u306d...\r\n<\/span>\r\n\r\n\u305d\u3093\u306a\u308f\u3051\u3067\u3001Content-Length \u30d8\u30c3\u30c0\u3092\u5275\u51fa\u3057\u3066\u3084\u308c\u3070\u3061\u3083\u3093\u3068 CloudFront \u3067\u5727\u7e2e\u8ee2\u9001\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u6709\u52b9\u306b\u306a\u308a\u307e\u3059\u3002\r\nob_start() \u3068 ob_end_flush() \u306b\u304a\u51fa\u307e\u3057\u3057\u3066\u3082\u3089\u3044\u307e\u3057\u3087\u3046\u304b\u3002\r\n\r\n\u3053\u306e\u30b5\u30a4\u30c8\u306f TwentyTwelve \u306e\u5b50\u30c6\u30fc\u30de\u3068\u3057\u3066\u4f5c\u6210\u3055\u308c\u3066\u308b\u306e\u3067\u3001\u30c6\u30fc\u30de\u306e index.php \u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002\r\n\r\nhttps:\/\/gist.github.com\/wokamoto\/e7bfaa68333a9ffad716374ecc735234\r\n\r\n\u666e\u901a\u306e\u30c6\u30fc\u30de\u306a\u3089\u3001index.php \u306e\u6700\u521d\u3067
<?php ob_start();><\/code> \u3057\u3066\u3001\u6700\u5f8c\u3067
<?php header('Content-Length: '.ob_get_length()); ob_end_flush(); ?><\/code> \u3059\u308c\u3070\u3044\u3044\u304b\u306a\u3002\r\n\u307e\u3041\u3001\u5b50\u30c6\u30fc\u30de\u306b\u3057\u3066\u30c6\u30fc\u30de\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u4e0a\u8a18\u306e\u3088\u3046\u306a index.php \u3092\u7f6e\u3044\u3066\u304a\u304f\u65b9\u304c\u5f8c\u3005\u306e\u30c6\u30fc\u30de\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u6642\u3068\u304b\u697d\u306a\u306e\u3067\u3001\u305d\u306e\u65b9\u304c\u3044\u3044\u3067\u3057\u3087\u3046\u3002\r\n\r\n\u3061\u3083\u3093\u3068 gzip \u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u306d\u3002\r\n[text]$ curl --head -H \"Accept-Encoding: gzip\" https:\/\/dogmap.jp\/\r\nHTTP\/1.1 200 OK\r\nContent-Type: text\/html; charset=UTF-8\r\nConnection: keep-alive\r\nContent-Encoding: gzip\r\nDate: Fri, 26 May 2017 07:50:25 GMT\r\nServer: nginx\r\nStrict-Transport-Security: max-age=31536000; includeSubDomains; preload\r\nVary: Accept-Encoding\r\nX-Cache-Status: HIT\r\nX-Cached: Fri, 26 May 2017 07:50:09 GMT\r\nX-Cache: Miss from cloudfront\r\nVia: 1.1 2bb00e225b1b6c3d82913e7c9db706c5.cloudfront.net (CloudFront)\r\nX-Amz-Cf-Id: cFG5SBIQJjYYWwuMHX6RV-WOt77-pTKtqoI-UwLz9c2cU1O0I6nSaA==\r\n[\/text]\r\n\r\n\u73fe\u5834\u304b\u3089\u306f\u4ee5\u4e0a\u3067\u3059\u3002","excerpt":"\u30bf\u30a4\u30c8\u30eb\u3067\u8a00\u3044\u5207\u3063\u3066\u307e\u3059\u304c… CloudFront \u306e\u300cCompress Objects Automatically\u300d\u3063\u3066\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u3001\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u30d6\u30e9\u30a6\u30b6\u306b\u5bfe\u3057\u3066\u306f\u5727\u7e2e\u8ee2\u9001\u3092\u3057\u3066\u304f\u308c\u308b\u306f\u305a\u306a\u3093\u3067 […]","date":"2017-05-26 16:50:57","author":"\u3092\u304b\u3082\u3068","categories":["WordPress"],"tags":["CloudFront","WordPress"]},{"id":3258,"title":"WordPress \u306b\u30d0\u30c3\u30af\u30c9\u30a2\u4ed5\u639b\u3051\u3089\u308c\u306a\u3044\u3088\u3046\u306b…","permalink":"https:\/\/dogmap.jp\/2016\/05\/10\/post-3258\/","content":"\u3044\u304f\u3089\u6c17\u3092\u3064\u3051\u3066\u3044\u3066\u3082\u3001\u4e0d\u5e78\u306b\u3057\u3066 WordPress \u306b\u30d0\u30c3\u30af\u30c9\u30a2\u3092\u4ed5\u639b\u3051\u3089\u308c\u308b\u3053\u3068\u306f\u5f80\u3005\u306b\u3057\u3066\u3042\u308b\u3082\u306e\u3067\u3059\u3002\r\n\u91cd\u8981\u306a\u306e\u306f\u65e5\u3005\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3068\u76e3\u8996\u306a\u306e\u3067\u3059\u304c\u3001\u9593\u306b\u5408\u308f\u305a\u306b\u3084\u3089\u308c\u3061\u3083\u3063\u3066\u30d0\u30c3\u30af\u30c9\u30a2\u4ed5\u639b\u3051\u3089\u308c\u308b\u3053\u3068\u3082\u3042\u308b\u3067\u3057\u3087\u3046\u3002\r\n\u5148\u65e5\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f WordPress 4.5.2 \u3067\u3082\u7d50\u69cb\u91cd\u3081\u306e XSS \u8106\u5f31\u6027\u306e\u5831\u544a\u3068\u4fee\u6b63\u304c\u884c\u308f\u308c\u307e\u3057\u305f\u306d\u3002\r\nWordPress 4.5.2 \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ea\u30ea\u30fc\u30b9<\/a>\r\n\r\n\u305d\u3093\u306a\u308f\u3051\u3067\u3001\u3072\u3055\uff5e\u3057\u3076\u308a\u306e\u30d6\u30ed\u30b0\u306f\u30d0\u30c3\u30af\u30c9\u30a2\u4ed5\u639b\u3051\u3089\u308c\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u9632\u885b\u7b56\u3068\u30bd\u30fc\u30b9\u304c\u6539\u5909\u3055\u308c\u305f\u6642\u306e\u5bfe\u5fdc\u7b56\u3067\u3059\u3002\r\n<\/span>\r\n\r\n
\u30d0\u30c3\u30af\u30c9\u30a2\u3092\u4ed5\u639b\u3051\u3089\u308c\u308b\u524d\u306e\u9632\u885b\u7b56<\/h3>\r\n\r\n
\u4e0d\u8981\u306a php \u30d5\u30a1\u30a4\u30eb\u306b\u30a2\u30af\u30bb\u30b9\u3055\u305b\u306a\u3044<\/h4>\r\nWordPress \u306e\u30d0\u30c3\u30af\u30c9\u30a2\u4ed5\u639b\u3051\u3066\u304f\u308b\u3084\u3064\u306e\u624b\u9806\u3068\u3057\u3066\u591a\u3044\u306e\u304c\u3001\u30e1\u30c7\u30a3\u30a2\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u6a5f\u80fd\u306e\u8106\u5f31\u6027\u3068\u304b\u3092\u5229\u7528\u3057\u3066 wp-conten\/uploads\/ \u4ee5\u4e0b\u306b php \u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u3044\u3066\u3044\u304d\u3001\u305d\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3057\u3066\u30ea\u30af\u30a8\u30b9\u30c8\u3059\u308b\u3053\u3068\u3067\u8272\u3005\u60aa\u3055\u3092\u3059\u308b\u624b\u53e3\u3067\u3059\u3002\r\n\u307e\u305f\u3001\u305d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u767a\u898b\u3055\u308c\u3066\u99c6\u9664\u3055\u308c\u305f\u3068\u3057\u3066\u3082\u826f\u3044\u3088\u3046\u306b wp-includes\/\u3001wp-admin\/includes\/ \u3068\u304b\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u3044\u3066\u304a\u304f\u3084\u3064\u3082\u3044\u307e\u3059\u3002\r\n\u306a\u306e\u3067\u3001Nginx \u3092\u4f7f\u3063\u3066\u308b\u5834\u5408\u306f\u4ee5\u4e0b\u306e\u69d8\u306a\u8a2d\u5b9a\u3067\u3053\u308c\u3089\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u7f6e\u304b\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3057\u3066\u76f4\u63a5\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u3042\u3052\u308b\u3068\u826f\u3044\u3067\u3059\u3002\r\nhttps:\/\/gist.github.com\/wokamoto\/8d0409af6aaf8e47cdc7487df02ebc10\r\n\u3053\u3046\u3059\u308b\u3053\u3068\u3067\u3001\u4eee\u306b\u30d0\u30c3\u30af\u30c9\u30a2\u3092\u4ed5\u639b\u3051\u3089\u308c\u305f\u3068\u3057\u3066\u3082\u3042\u308b\u7a0b\u5ea6\u306f\u9632\u3052\u308b\u3067\u3057\u3087\u3046\u3002\r\n\r\n
\u30d7\u30e9\u30b0\u30a4\u30f3\u30fb\u30c6\u30fc\u30de\u306e\u7de8\u96c6\u6a5f\u80fd\u3092\u6bba\u3059<\/h4>\r\n\u3042\u3068\u3001\u591a\u3044\u306e\u306f\u30d6\u30eb\u30fc\u30c8\u30d5\u30a9\u30fc\u30b9\u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30af\u30e9\u30c3\u30af\u3057\u3066 WordPress \u306e\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u304b\u3089\u30d7\u30e9\u30b0\u30a4\u30f3\u3084\u30c6\u30fc\u30de\u3092\u7de8\u96c6\u30fb\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u6a5f\u80fd\u3092\u4f7f\u7528\u3057\u3066\u30d0\u30c3\u30af\u30c9\u30a2\u3092\u4ed5\u639b\u3051\u308b\u624b\u53e3\u3067\u3059\u3002\r\n\u3053\u308c\u306b\u95a2\u3057\u3066\u306f\u3001
define( 'DISALLOW_FILE_EDIT', true );<\/code> \u3084\u3001
define( 'DISALLOW_FILE_MODS', true );<\/code> \u3092 wp-config.php \u306b\u8ffd\u52a0\u3057\u3066\u304a\u3044\u3066\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u304b\u3089\u4f5c\u696d\u3067\u304d\u306a\u304f\u3059\u308b\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u3067\u3059\u3002\r\n\u203b\u4e00\u756a\u306e\u5bfe\u7b56\u306f\u30af\u30e9\u30c3\u30af\u3055\u308c\u306a\u3044\u3088\u3046\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5358\u7d14\u306a\u3082\u306e\u306b\u3057\u306a\u3044\u3053\u3068\u306a\u306e\u306f\u8a00\u3046\u307e\u3067\u3082\u3042\u308a\u307e\u305b\u3093\u304c....\r\nEditing wp-config.php « WordPress Codex<\/a>\r\n\r\n\u305f\u3060\u3001\u3053\u308c\u3092\u3084\u3063\u3061\u3083\u3046\u3068 WordPress \u306e\u5229\u70b9\u3067\u3042\u308b\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u304b\u3089\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3068\u304b\u3082\u3067\u304d\u306a\u304f\u306a\u3063\u3061\u3083\u3046\u306e\u3067\u3001\u904b\u7528\u5f62\u614b\u306b\u3042\u308f\u305b\u3066\u8003\u3048\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u306d\u3002\r\n\r\n
\u7279\u5b9a\u306ePHP\u95a2\u6570\u3092\u7121\u52b9\u306b\u3059\u308b<\/h4>\r\n\u30d0\u30c3\u30af\u30c9\u30a2\u3068\u3057\u3066\u4ed5\u639b\u3051\u3089\u308c\u305f php \u3084\u30de\u30eb\u30a6\u30a7\u30a2\u3092\u542b\u3080 php \u3067\u306f\u3001\u5f80\u3005\u306b\u3057\u3066\u30bd\u30fc\u30b9\u3092\u96e3\u8aad\u5316\u3059\u308b\u305f\u3081\u306b eval() \u95a2\u6570\u3092\u4f7f\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002\r\n\u307e\u305f\u3001exec()\u3001shell_exec()\u3001system() \u306a\u3069\u306e PHP \u304b\u3089\u5916\u90e8\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u95a2\u6570\u3092\u4f7f\u7528\u3057\u3066\u60aa\u3055\u3092\u3059\u308b\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u3002\r\n\u3053\u308c\u3089\u306f\u3001\u7279\u306b\u4f7f\u7528\u3057\u3066\u3044\u306a\u3044\u306e\u306a\u3089 php.ini \u306e disable-functions<\/a> \u8a2d\u5b9a\u3067\u7121\u52b9\u306b\u3057\u3066\u304a\u304f\u3068\u826f\u3044\u3067\u3057\u3087\u3046\u3002\r\n\u5c11\u306a\u304f\u3068\u3082\u3001WordPress \u306e\u30b3\u30a2\u30bd\u30fc\u30b9\u3067\u306f\u3053\u308c\u3089\u306e PHP \u95a2\u6570\u306f\u4f7f\u7528\u3057\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u4e00\u90e8\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u7b49\u3067\u4f7f\u7528\u3057\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u306e\u3067\u3001\u3053\u308c\u3089\u3092\u7121\u52b9\u306b\u3059\u308b\u5834\u5408\u306f\u81ea\u5206\u304c\u4f7f\u3063\u3066\u3044\u308b\u30d7\u30e9\u30b0\u30a4\u30f3\u30fb\u30c6\u30fc\u30de\u306e\u30bd\u30fc\u30b9\u3092\u7cbe\u67fb\u3057\u3066\u304b\u3089\u884c\u3063\u3066\u304f\u3060\u3055\u3044\u3002\r\n\u203b\u8ffd\u8a18: eval() \u306f\u7121\u52b9\u306b\u3067\u304d\u306a\u3044\u305d\u3046\u3067\u3059\u3002\r\nphp.ini\u3067\u95a2\u6570\u3092\u7121\u52b9\u5316\u3067\u304d\u308b\u3002\u8a00\u8a9e\u69cb\u9020\u306f\u7121\u52b9\u5316\u3067\u304d\u306a\u3044\u3002\u30e6\u30fc\u30b6\u30fc\u5b9a\u7fa9\u95a2\u6570\u306f\u7121\u52b9\u5316\u3067\u304d\u306a\u3044\u3002<\/a>\r\n\r\n
\u81ea\u5206\u306e\u30b5\u30fc\u30d0\u304c SPAM \u9001\u4fe1\u306e\u914d\u4fe1\u5143\u306b\u3055\u308c\u3066\u306a\u3044\u304b\u78ba\u8a8d\u3057\u3068\u304f<\/h4>\r\nmailq \u30b3\u30de\u30f3\u30c9\u3067\u30e1\u30fc\u30eb\u30ad\u30e5\u30fc\u306b\u6e9c\u307e\u3063\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u6570\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\r\n
# mailq | grep 'Total requests'<\/code><\/pre>\r\n\r\n\u305f\u3060\u3001\u3053\u3093\u306a\u3093\u6bce\u56de\u624b\u3067\u53e9\u3044\u3066\u3082\u3044\u3089\u308c\u306a\u3044\u306e\u3067 AWS \u4f7f\u3063\u3066\u308b\u5834\u5408\u306f\u3001CloudWach \u306e\u30ab\u30b9\u30bf\u30e0\u30e1\u30c8\u30ea\u30af\u30b9<\/a>\u3092\u4f7f\u3063\u3066\u5b9a\u671f\u7684\u306b\u30e1\u30fc\u30eb\u30ad\u30e5\u30fc\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u6570\u3092\u76e3\u8996\u3057\u3066\u3001\u3042\u308b\u7a0b\u5ea6\u5927\u304d\u3044\u6570\u306b\u306a\u3063\u305f\u3089\u30a2\u30e9\u30fc\u30c8\u4e0a\u3052\u308b\u3088\u3046\u306b\u3057\u3066\u3042\u3052\u308b\u3068\u826f\u3044\u3067\u3059\u3002\r\n\u30ab\u30b9\u30bf\u30e0\u30e1\u30c8\u30ea\u30af\u30b9\u306b\u30e1\u30fc\u30eb\u30ad\u30e5\u30fc\u6570\u3092\u3042\u3052\u308b\u305f\u3081\u306e\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u306f\u3053\u3093\u306a\u611f\u3058\u3002\r\nhttps:\/\/gist.github.com\/wokamoto\/6b0cc19abe53128db959db3b1455079c\r\n\r\n\u3053\u308c\u3092 crontab \u3067\u5b9a\u671f\u7684(5\u5206\u306b\u4e00\u5ea6\u7a0b\u5ea6)\u307e\u308f\u3057\u3066\u3042\u3052\u308c\u3070\u3001\u3042\u308b\u7a0b\u5ea6\u306e\u76e3\u8996\u304c\u53ef\u80fd\u3067\u3059\u306d\u3002\r\n\u30d0\u30c3\u30af\u30c9\u30a2\u4ed5\u639b\u3051\u3089\u308c\u3066 SPAM \u306e\u8e0f\u307f\u53f0\u306b\u3055\u308c\u3066\u308b\u5834\u5408\u306b\u306f\u3001\u3042\u308a\u3048\u306a\u3044\u6570\u306e mailq \u304c\u6e9c\u307e\u308b\u306f\u305a\u3067\u3059\u306e\u3067\u3002\r\n\r\nAWS \u4f7f\u3063\u3066\u306a\u3044\u5834\u5408\u306f\u3001\u95be\u5024\u4ee5\u4e0a\u306e\u30e1\u30fc\u30eb\u30ad\u30e5\u30fc\u304c\u6e9c\u307e\u3063\u3066\u305f\u3089\u30e1\u30fc\u30eb\u3059\u308b\u306a\u308a Slack \u901a\u77e5\u3059\u308b\u306a\u308a\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u3042\u3052\u308c\u3070\u3044\u3044\u3068\u601d\u3046\u3088\u3002\r\n\r\n
\u30b3\u30a2\u30bd\u30fc\u30b9\u304c\u6539\u5909\u3055\u308c\u3066\u3044\u306a\u3044\u304b\u3092\u78ba\u8a8d\u3059\u308b\u65b9\u6cd5<\/h4>\r\n\u30b3\u30a2\u30bd\u30fc\u30b9\u304c\u6539\u5909\u3055\u308c\u3066\u3044\u306a\u3044\u304b\u78ba\u8a8d\u3059\u308b\u306b\u306f\u3001wp-cli<\/a> \u3092\u4f7f\u7528\u3059\u308b\u306e\u304c\u4fbf\u5229\u3067\u3059\u3002\r\n
wp core verify-checksums<\/code> \u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u30c1\u30a7\u30c3\u30af\u53ef\u80fd\u3067\u3059\u3002\r\nwp core verify-checksums<\/a>\r\n
$ wp core verify-checksums\r\nSuccess: WordPress install verifies against checksums.<\/code><\/pre>\r\n\r\n\u306a\u3093\u304b\u6539\u5909\u304c\u3042\u308b\u6642\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u6559\u3048\u3066\u304f\u308c\u307e\u3059\u3002\r\n
$ wp core verify-checksums\r\nWarning: File doesn't verify against checksum: wp-load.php\r\nError: WordPress install doesn't verify against checksums.<\/code><\/pre>\r\n\r\n
\u30de\u30eb\u30a6\u30a7\u30a2\u30d5\u30a1\u30a4\u30eb\u304c\u7121\u3044\u304b\u78ba\u8a8d\u3059\u308b\u65b9\u6cd5<\/h4>\r\n\u4e00\u756a\u826f\u3044\u306e\u306f\u30a2\u30f3\u30c1\u30a6\u30a3\u30eb\u30b9\u30bd\u30d5\u30c8\u3092\u4f7f\u3063\u3066\u691c\u7d22\u3059\u308b\u3053\u3068\u3067\u3059\u304c\u3001\u624b\u3063\u53d6\u308a\u65e9\u304f\u884c\u3046\u306b\u306f eval() \u3092\u4f7f\u3063\u3066\u308b\u3068\u3053\u308d\u304c\u7121\u3044\u304b\u3092\u3056\u3063\u3068\u78ba\u8a8d\u3059\u308b\u3053\u3068\u3067\u3059\u3002\r\n
$ cd \/path\/to\/wordpress\r\n$ find . -type f -name '*.php' | xargs grep 'eval(' | grep -v 'doubleval('\r\n$ find . -type f -name '*.php' | xargs grep 'eval\\\/'<\/code><\/pre>\r\n\u3053\u308c\u3067\u3001\u3042\u304d\u3089\u304b\u306b\u304a\u304b\u3057\u3044\u3068\u3053\u3068\u304c\u7121\u3044\u304b\u304c\u3056\u3063\u3068\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\r\n\u305f\u3060\u3001\u3053\u308c\u3060\u3051\u3060\u3068\u7279\u5b9a\u306e\u30d1\u30bf\u30fc\u30f3\u306b\u3057\u304b\u5bfe\u5fdc\u3067\u304d\u306a\u3044\u306e\u3067\u3001\u3084\u306f\u308a\u30a2\u30f3\u30c1\u30a6\u30a3\u30eb\u30b9\u30bd\u30d5\u30c8\u306a\u3069\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u306b\u3057\u305f\u65b9\u304c\u3044\u3044\u3067\u3059\u3002\r\n\r\n\r\n
\u4e0d\u5e78\u306b\u3082\u6539\u5909\u3055\u308c\u3066\u3044\u305f\u3053\u3068\u304c\u308f\u304b\u3063\u305f\u5834\u5408\u306b\u5fa9\u65e7\u3055\u305b\u308b\u305f\u3081\u306e\u4f5c\u696d<\/h3>\r\n\r\n\u4e0d\u5e78\u306b\u3082\u6539\u5909\u304c\u898b\u3064\u304b\u3063\u305f\u5834\u5408\u306f\u3001WordPress \u306e\u30b3\u30a2\u30bd\u30fc\u30b9\u306b\u95a2\u3057\u3066\u306f wp-cli \u3092\u4f7f\u7528\u3059\u308c\u3070\u4ee5\u4e0b\u306e\u624b\u9806\u3067\u6b63\u898f\u306e\u30e2\u30ce\u306b\u623b\u3059\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002\r\nhttps:\/\/gist.github.com\/wokamoto\/cc61aef7bcb88565298dea8f032f5401\r\n\u203b 1\u884c\u76ee\u306e \/path\/to\/wordpress \u306f WordPress \u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u8aad\u307f\u66ff\u3048\u3066\u304f\u3060\u3055\u3044\u3002\r\n\u203b 7\u884c\u76ee\u306e
wp core download<\/code> \u30b3\u30de\u30f3\u30c9\u306e\u30d1\u30e9\u30e1\u30fc\u30bf
--version<\/code> \u3068
--locale<\/code> \u306f\u3001\u9069\u5b9c\u8aad\u307f\u66ff\u3048\u3066\u304f\u3060\u3055\u3044\u3002\r\n\r\n\u305f\u3060\u3057\u3001\u3053\u308c\u3060\u3051\u3060\u3068\u30b3\u30a2\u30bd\u30fc\u30b9\u306b\u4ed5\u639b\u3051\u3089\u308c\u305f\u6539\u5909\u3057\u304b\u623b\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\r\n\u30d7\u30e9\u30b0\u30a4\u30f3\u3084\u30c6\u30fc\u30de\u306b\u3064\u3044\u3066\u306f\u5225\u9014\u4f5c\u696d\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\r\n\r\n\u203b\u8ffd\u8a18\r\n\u3082\u3061\u308d\u3093\u3001\u3053\u308c\u3060\u3051\u3084\u3063\u3068\u304d\u3083\u5927\u4e08\u592b\u3063\u3066\u8a71\u3067\u306f\u306a\u3044\u3067\u3059\u3002\r\n\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5bfe\u7b56\u306b\u306f\u9280\u306e\u5f3e\u4e38\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3042\u304f\u307e\u3067\u3082\u4e00\u4f8b\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u3054\u7406\u89e3\u304f\u3060\u3055\u3044\u3002\r\n\u8a18\u4e8b\u4e2d\u306b\u9593\u9055\u3063\u3066\u308b\u8a18\u8ff0\u304c\u3042\u308b\u3068\u304b\u6c17\u3065\u304b\u308c\u305f\u65b9\u306f\u3001\u30b3\u30e1\u30f3\u30c8\u6b04\u7b49\u3067\u6307\u6458\u3057\u3066\u3044\u305f\u3060\u3051\u308c\u3070\u5e78\u3044\u3067\u3059\u3002","excerpt":"\u3044\u304f\u3089\u6c17\u3092\u3064\u3051\u3066\u3044\u3066\u3082\u3001\u4e0d\u5e78\u306b\u3057\u3066 WordPress \u306b\u30d0\u30c3\u30af\u30c9\u30a2\u3092\u4ed5\u639b\u3051\u3089\u308c\u308b\u3053\u3068\u306f\u5f80\u3005\u306b\u3057\u3066\u3042\u308b\u3082\u306e\u3067\u3059\u3002 \u91cd\u8981\u306a\u306e\u306f\u65e5\u3005\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3068\u76e3\u8996\u306a\u306e\u3067\u3059\u304c\u3001\u9593\u306b\u5408\u308f\u305a\u306b\u3084\u3089\u308c\u3061\u3083\u3063\u3066\u30d0\u30c3\u30af\u30c9\u30a2\u4ed5\u639b\u3051\u3089\u308c\u308b\u3053\u3068\u3082\u3042\u308b\u3067 […]","date":"2016-05-10 13:12:43","author":"\u3092\u304b\u3082\u3068","thumbnail":"","categories":["WordPress"],"tags":["security","WordPress"]},{"id":3232,"title":"WordPress \u306e\u524d\u6bb5\u306b CloudFront \u3092\u914d\u7f6e\u3059\u308b ( AMIMOTO Advent Calendar 2015 12\u65e5\u76ee )","permalink":"https:\/\/dogmap.jp\/2015\/12\/12\/post-3232\/","content":"AMIMOTO Advent Calendar<\/a> \u306e12\u65e5\u76ee\u3067\u3059\u3002\r\n\u30a2\u30a4\u30ad\u30e3\u30c3\u30c1\u753b\u50cf\u306f Cloudcraft<\/a> \u3067\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u3002\u30ab\u30b3\u30a4\u30a4\uff01\r\n\r\nWordPress \u306e\u524d\u6bb5\u306b CloudFront \u3092\u7f6e\u304d\u305f\u3044\u3053\u3068\u3063\u3066\u3042\u308a\u307e\u3059\u3088\u306d\u3002\r\n\u305d\u3093\u306a\u6642\u3001\u4ee5\u4e0b\u306e\u69d8\u306a\u554f\u984c\u306b\u76f4\u9762\u3059\u308b\u304b\u3068\u601d\u308f\u308c\u307e\u3059\u3002\r\n\r\n
\r\n
- \u30ed\u30b0\u30a4\u30f3\u6642\u306f\u30d7\u30ec\u30d3\u30e5\u30fc\u753b\u9762\u3068\u304b\u3001\u5373\u5ea7\u306b\u5909\u308f\u308b\u3088\u3046\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u305b\u305f\u304f\u306a\u3044<\/li>\r\n
- Nginx \u306e\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u306b CloudFront \u306e IP \u30a2\u30c9\u30ec\u30b9\u3067\u306f\u306a\u304f\u3001\u30a2\u30af\u30bb\u30b9\u3057\u3066\u304d\u305f PC \u306e IP \u30a2\u30c9\u30ec\u30b9\u3092\u8a18\u9332\u3057\u305f\u3044<\/li>\r\n
- \u30e2\u30d0\u30a4\u30eb\u7248\u3068PC\u7248\u3067\u30c6\u30fc\u30de\u3092\u5207\u308a\u66ff\u3048\u305f\u3044\u3093\u3060\u3051\u3069...<\/li>\r\n
- publish \u3057\u305f\u3068\u304d\u306b\u3061\u3083\u3093\u3068\u53cd\u6620\u3055\u308c\u308b\u3088\u3046\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u6d88\u3057\u305f\u3044<\/li>\r\n<\/ul>\r\n\r\n\u4eca\u65e5\u306f\u3001\u3053\u308c\u3089\u306e\u304a\u60a9\u307f\u3092\u89e3\u6c7a\u3057\u3061\u3083\u304a\u3046\u304b\u306a\u3063\u3066\u611f\u3058\u3067\u3059\u3002\r\n<\/span>\r\n\r\n
\u30ed\u30b0\u30a4\u30f3\u6642\u306f\u30d7\u30ec\u30d3\u30e5\u30fc\u753b\u9762\u3068\u304b\u3001\u5373\u5ea7\u306b\u5909\u308f\u308b\u3088\u3046\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u305b\u305f\u304f\u306a\u3044<\/h3>\r\n\r\nCloudFront \u3067\u306f\u30a2\u30af\u30bb\u30b9 URL \u306b\u3088\u3063\u3066\u30ad\u30e3\u30c3\u30b7\u30e5\u65b9\u6cd5\u3092\u5909\u3048\u305f\u308a\u3001\u30aa\u30ea\u30b8\u30f3\u30b5\u30fc\u30d0\u3092\u5909\u3048\u305f\u308a\u3092 Behavior \u3063\u3066\u3068\u3053\u308d\u3067\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\r\n\u306a\u306e\u3067\u3001\u4ee5\u4e0b\u306e\u6226\u7565\u3067 Behavior \u3092\u8a2d\u5b9a\u3057\u3066\u3042\u3052\u307e\u3057\u3087\u3046\u3002\r\n\r\n
\r\n
- *.php \u3078\u306e\u30a2\u30af\u30bb\u30b9\u306f\u3001\u307b\u307c\u30ce\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u3067<\/li>\r\n
- \/wp-admin\/* \u306f\u7ba1\u7406\u753b\u9762\u306a\u306e\u3067\u3001\u3053\u3061\u3089\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3082\u307b\u307c\u30ce\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u3067<\/li>\r\n
- \/wp-content\/uploads\/* \u4ee5\u4e0b\u306b\u306f\u3001\u30e1\u30c7\u30a3\u30a2\u30d5\u30a1\u30a4\u30eb\u3057\u304b\u306a\u3044\u306f\u305a\u3060\u304b\u3089\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u304d\u3064\u304f<\/li>\r\n
- \/wp-includes\/*, \/wp-content\/* \u306b\u3082\u57fa\u672c\u7684\u306b\u306f css, js, \u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb\u3057\u304b\u516c\u958b\u3057\u3066\u306a\u3044\u306f\u305a\u306a\u306e\u3067\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u304d\u3064\u304f<\/li>\r\n
- \u4ed6\u306e URL \u3078\u306e\u30a2\u30af\u30bb\u30b9\u306b\u3064\u3044\u3066\u306f\u3001\u30ed\u30b0\u30a4\u30f3\u6642\u3068\u975e\u30ed\u30b0\u30a4\u30f3\u6642\u3092 Cookie \u3067\u5224\u65ad\u3057\u3066\u30ad\u30e3\u30c3\u30b7\u30e5<\/li>\r\n<\/ul>\r\n\r\n\u3053\u308c\u3092\u3001AWS \u30b3\u30f3\u30bd\u30fc\u30eb\u304b\u3089\u30dd\u30c1\u30dd\u30c1\u3068\u624b\u3067\u8a2d\u5b9a\u3057\u3066\u3082\u826f\u3044\u3093\u3067\u3059\u304c\u3001\u8aac\u660e\u3059\u308b\u306e\u304c\u3081\u3093\u3069\u304f\u3055\u3044\u3057\u3001\u624b\u9806\u66f8\u304f\u306e\u3082\u5104\u52ab\u306a\u306e\u3067\u3001aws-cli \u3067 cloudfront create-distribution \u3057\u3061\u3083\u3046\u30ef\u30f3\u30e9\u30a4\u30ca\u30fc\u4f5c\u3063\u3066\u304a\u304d\u307e\u3057\u305f\u3002\r\nWordPress \u306f\u30b5\u30d6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u306a\u304f\u30eb\u30fc\u30c8\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u524d\u63d0\u3067\u3059\u3002\r\n[text]$ export origin_url='{ORIGIN URL HERE}'; export domain='{DOMAIN NAME HERE}'; aws cloudfront create-distribution --cli-input-json \"$(curl -l -s https:\/\/raw.githubusercontent.com\/amimoto-ami\/create-cf-dist-settings\/master\/source_dist_setting.sh | sh)\"\r\n[\/text]\r\n\r\n{ORIGIN URL HERE} \u306b\u306f\u30aa\u30ea\u30b8\u30f3\u30b5\u30fc\u30d0\u306e\u30c9\u30e1\u30a4\u30f3\u3092\u66f8\u3044\u3066\u304f\u3060\u3055\u3044\u3002\r\nIP \u30a2\u30c9\u30ec\u30b9\u3067\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u306a\u3044\u306e\u3067\u30b5\u30fc\u30d0\u540d\u3092\u66f8\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3001EC2 1\u53f0\u3060\u3051\u306e\u69cb\u6210\u3060\u3068\u3057\u3066\u3082 ELB \u914d\u4e0b\u306b\u3057\u3066\u304a\u3051\u3070\u3088\u3044\u3067\u3057\u3087\u3046\u3002\r\n\r\n{DOMAIN NAME HERE} \u306b\u306f\u3001\u516c\u958b URL \u3092\u66f8\u3044\u3066\u304f\u3060\u3055\u3044\u3002\r\n\r\n\u306a\u304a\u3001aws-cli \u3067\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067 aws cloudfront \u30b3\u30de\u30f3\u30c9\u304c\u4f7f\u3048\u306a\u3044\u306e\u3067 ~\/.aws\/config \u306e\u5148\u982d\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u3066\u304a\u3044\u3066\u304b\u3089\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\r\n[text][preview]\r\ncloudfront=true\r\n[\/text]\r\n\r\n\u4e0a\u8a18\u306e\u30ef\u30f3\u30e9\u30a4\u30ca\u30fc\u3067\u4f5c\u3063\u305f dogmap.jp \u306e CloudFront \u7248\u306f\u4ee5\u4e0b\u306e URL \u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002\r\nd2fe6jih9itgzn.cloudfront.net<\/a>\r\n\r\n\u3042\u3068\u306f\u3001\u50d5\u304c\u4f5c\u3063\u305f\u4ee5\u4e0b\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u5165\u308c\u3066\u304a\u304f\u3068\u30d7\u30ec\u30d3\u30e5\u30fc\u30ea\u30f3\u30af\u306b post_date \u3068\u304b\u306e\u30af\u30a8\u30ea\u30b9\u30c8\u30ea\u30f3\u30b0\u304c\u8ffd\u52a0\u3055\u308c\u308b\u306e\u3067\u3001\u5e78\u305b\u306b\u306a\u308a\u307e\u3059\u3002\r\nhttps:\/\/gist.github.com\/wokamoto\/ecfd3a7ea9ef80ea1628<\/a>\r\n\r\n\r\n
Nginx \u306e\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u306b CloudFront \u306e IP \u30a2\u30c9\u30ec\u30b9\u3067\u306f\u306a\u304f\u3001\u30a2\u30af\u30bb\u30b9\u3057\u3066\u304d\u305f PC \u306e IP \u30a2\u30c9\u30ec\u30b9\u3092\u8a18\u9332\u3057\u305f\u3044<\/h3>\r\n\r\nNginx \u306e Real IP module<\/a> \u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u53ef\u80fd\u3067\u3059\u3002\r\n\u3053\u308c\u3092\u8a2d\u5b9a\u3059\u308b\u3068\u7279\u5b9a\u306e IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092 X-Forwarded-For \u30d8\u30c3\u30c0\u306e\u5185\u5bb9\u3092\u5143\u306b\u5909\u66f4\u3057\u3066\u304f\u308c\u307e\u3059\u3002\r\n\u53c2\u8003URL: How to get the client IP when using CloudFront and nginx - Jayway<\/a>\r\n\r\nAMIMOTO \u3067\u8a2d\u5b9a\u3059\u308b\u306a\u3089\u3001\/etc\/nginx\/conf.d\/00_real_ip.conf \u3068\u3057\u3066\u4ee5\u4e0b\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u305f\u5f8c\u3067 service nginx restart \u3057\u3066\u8a2d\u5b9a\u3092\u53cd\u6620\u3057\u3066\u3042\u3052\u3066\u304f\u3060\u3055\u3044\u3002\r\n[text]# Look for client IP in the X-Forwarded-For header\r\nreal_ip_header X-Forwarded-For;\r\n\r\n# Ignore trusted IPs\r\nreal_ip_recursive on;\r\n\r\n# VPC\r\nset_real_ip_from 172.31.0.0\/16;\r\n\r\n# CloudFront\r\nset_real_ip_from 54.182.0.0\/16;\r\nset_real_ip_from 54.192.0.0\/16;\r\nset_real_ip_from 54.230.0.0\/16;\r\nset_real_ip_from 54.239.128.0\/18;\r\nset_real_ip_from 54.239.192.0\/19;\r\nset_real_ip_from 54.240.128.0\/18;\r\nset_real_ip_from 204.246.164.0\/22;\r\nset_real_ip_from 204.246.168.0\/22;\r\nset_real_ip_from 204.246.174.0\/23;\r\nset_real_ip_from 204.246.176.0\/20;\r\nset_real_ip_from 205.251.192.0\/19;\r\nset_real_ip_from 205.251.249.0\/24;\r\nset_real_ip_from 205.251.250.0\/23;\r\nset_real_ip_from 205.251.252.0\/23;\r\nset_real_ip_from 205.251.254.0\/24;\r\nset_real_ip_from 216.137.32.0\/19;\r\n\r\n# self\r\nset_real_ip_from 127.0.0.1\/32;[\/text]\r\n\r\n\u306a\u304a set_real_ip_from 172.31.0.0\/16; \u3063\u3066\u306e\u306f\u3001EC2 \u3084 ELB \u304c\u5c5e\u3057\u3066\u3044\u308b VPC \u306e\u300cVPC CIDR\u300d\u3067\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002\r\n\u3053\u308c\u3067 set_real_ip_from \u3067\u6307\u5b9a\u3057\u305f IP \u30a2\u30c9\u30ec\u30b9\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u304c\u3042\u3063\u305f\u5834\u5408\u306f\u3001nginx \u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u5185\u3067\u4f7f\u7528\u3057\u3066\u3044\u308b
$remote_addr<\/code> \u3068
$binary_remote_addr<\/code> \u5909\u6570\u3092 HTTP \u30d8\u30c3\u30c0 X-Forwarded-For \u3092\u5143\u306b\u3088\u3057\u306a\u306b\u7f6e\u63db\u3057\u3066\u304f\u308c\u307e\u3059\u3002\r\n\r\n\r\n
\u30e2\u30d0\u30a4\u30eb\u7248\u3068PC\u7248\u3067\u30c6\u30fc\u30de\u3092\u5207\u308a\u66ff\u3048\u305f\u3044\u3093\u3060\u3051\u3069...<\/h3>\r\n\r\nUser-Agent \u3054\u3068\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u4f5c\u308b\u3088\u3046\u306b CloudFront \u3067\u8a2d\u5b9a\u3059\u308c\u3070\u826f\u3044\u3093\u3067\u3059\u304c\u3001\u305d\u3093\u306a\u3053\u3068\u3057\u305f\u3089\u307b\u307c\u30ce\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002\r\n\u6700\u521d\u306e\u624b\u9806\u3067\u4f5c\u3063\u305f CloudFront \u3067\u306f\u30aa\u30ea\u30b8\u30f3\u30b5\u30fc\u30d0\u306b\u5bfe\u3057\u3066\u3001\u4ee5\u4e0b\u306e HTTP \u30d8\u30c3\u30c0\u3092\u9001\u3063\u3066\u304f\u308c\u307e\u3059\u3002\r\n\r\n
\r\n
- CloudFront-Forwarded-Proto<\/li>\r\n
- CloudFront-Is-Desktop-Viewer<\/li>\r\n
- CloudFront-Is-Mobile-Viewer<\/li>\r\n
- CloudFront-Is-Tablet-Viewer<\/li>\r\n
- Host<\/li>\r\n<\/li>\r\n\r\n\u52d8\u304c\u826f\u3044\u4eba\u306a\u3089\u308f\u304b\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001PC\u3001\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3001\u30bf\u30d6\u30ec\u30c3\u30c8\u306e User-Agent \u3092 CloudFront \u304c\u5224\u65ad\u3057\u3066\u3001\u305d\u308c\u305e\u308c PC \u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u306a\u3089 CloudFront-Is-Desktop-Viewer \u304c true \u306b\u3001\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u306a\u3089 CloudFront-Is-Mobile-Viewer \u304c true \u306b\u3001\u30bf\u30d6\u30ec\u30c3\u30c8\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u306a\u3089 CloudFront-Is-Tablet-Viewer \u304c true \u306b\u306a\u308a\u307e\u3059\u3002\r\nAMIMOTO \u3067\u306f\u3001PC\u30fb\u30e2\u30d0\u30a4\u30eb\u306e\u30c6\u30fc\u30de\u5207\u308a\u66ff\u3048\u306b\u306f Nginx Mobile Theme \u30d7\u30e9\u30b0\u30a4\u30f3<\/a>\u3092\u63a8\u5968\u3057\u3066\u3044\u307e\u3059\u3002\r\n\u53c2\u8003URL: Nginx Mobile Theme \u2013 Nginx\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u4e0b\u3067\u52d5\u4f5c\u3059\u308b\u30e2\u30d0\u30a4\u30eb\u7528\u306e\u30c6\u30fc\u30de\u5207\u308a\u66ff\u3048\u30d7\u30e9\u30b0\u30a4\u30f3<\/a>\r\n\r\n\u3053\u306e Nginx Mobile Theme \u30d7\u30e9\u30b0\u30a4\u30f3\u3067 User-Agent \u3067\u306f\u306a\u304f\u3001CloudFront-Is-Mobile-Viewer \u3092\u4f7f\u3063\u3066\u5207\u308a\u66ff\u3048\u308b\u3088\u3046\u306b\u3059\u308b\u306b\u306f Nginx \u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\r\n[text] set $mobile '';\r\n include \/etc\/nginx\/mobile-detect;\r\n if ( $http_cloudfront_is_mobile_viewer = 'true' ) {\r\n set $mobile '@smartphone';\r\n }\r\n[\/text]\r\n\u203b CloudFront-Is-Mobile-Viewer \u30d8\u30c3\u30c0\u306e\u5185\u5bb9\u306f nginx \u5185\u306e $http_cloudfront_is_mobile_viewer \u5909\u6570\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\r\n\r\n\r\n
publish \u3057\u305f\u3068\u304d\u306b\u3061\u3083\u3093\u3068\u53cd\u6620\u3055\u308c\u308b\u3088\u3046\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u6d88\u3057\u305f\u3044<\/h3>\r\n\r\n\u3053\u308c\u306f\u3001digitalcube \u304b\u3089\u30d7\u30e9\u30b0\u30a4\u30f3\u51fa\u3057\u307e\u3057\u305f\u306e\u3067\u3001\u305d\u308c\u4f7f\u3046\u306e\u304c\u7c21\u5358\u3067\u3059\u3002\r\n\u4f7f\u3044\u65b9\u306f\u3001\u305d\u306e\u3046\u3061\u4f5c\u8005\u304c\u89e3\u8aac\u3057\u3066\u304f\u308c\u308b\u3067\u3057\u3087\u3046\u3002\r\nC3 Cloudfront Clear Cache<\/a>\r\n\r\n\u305d\u308c\u3067\u306f\u3001\u826f\u3044 CloudFront \u30e9\u30a4\u30d5\u3092\uff01","excerpt":"AMIMOTO Advent Calendar \u306e12\u65e5\u76ee\u3067\u3059\u3002 \u30a2\u30a4\u30ad\u30e3\u30c3\u30c1\u753b\u50cf\u306f Cloudcraft \u3067\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u3002\u30ab\u30b3\u30a4\u30a4\uff01 WordPress \u306e\u524d\u6bb5\u306b CloudFront \u3092\u7f6e\u304d\u305f\u3044\u3053\u3068\u3063\u3066\u3042\u308a\u307e\u3059\u3088\u306d […]","date":"2015-12-12 15:00:41","author":"\u3092\u304b\u3082\u3068","thumbnail":"","categories":["AMIMOTO"],"tags":["AMIMOTO","AWS","CloudFront","WordPress"]},{"id":3136,"title":"WordPress JSON REST API \u306b\u72ec\u81ea\u306e endpoint \u3092\u8ffd\u52a0\u3059\u308b","permalink":"https:\/\/dogmap.jp\/2014\/11\/19\/wordpress-json-rest-api-added-custom-endpoint\/","content":"\u5148\u65e5\u3001\u53c2\u52a0\u3057\u3066\u304d\u305f WordCamp San Francisco 2014<\/a> \u3067\u3082\u8a71\u984c\u306b\u306a\u3063\u3066\u305f WP JSON REST API<\/a> \u306b\u72ec\u81ea\u306e endpoint \u3092\u8ffd\u52a0\u3059\u308b\u65b9\u6cd5\u3067\u3059\u3002\r\n# WordCamp San Francisco \u3068\u304b WordCamp Kansai \u3068\u304b\u306e\u30a4\u30d9\u30f3\u30c8\u306b\u3082\u53c2\u52a0\u3057\u3066\u308b\u3093\u3067\u3059\u3051\u3069\u3001\u30d6\u30ed\u30b0\u66f8\u3044\u3066\u306a\u3044...\u3059\u3044\u307e\u305b\u3093\r\n\r\n\u307e\u305a WP REST API \u3068\u306f\u3001\u306a\u3093\u305e\u3084\u3063\u3066\u8a71\u3067\u3059\u304c...\r\n\u3053\u308c\u306f\u3001WordPress Ver.4.1 \u3082\u3057\u304f\u306f\u305d\u308c\u4ee5\u964d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u672c\u4f53\u306b\u7d44\u307f\u8fbc\u307e\u308c\u308b\u4e88\u5b9a\u306e\u6a5f\u80fd\u3067\u3059\u3002\r\n\u73fe\u5728\u306f\u30d7\u30e9\u30b0\u30a4\u30f3\u3068\u3057\u3066\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u3053\u308c\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3053\u3068\u3067\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\r\nWordPress › JSON REST API (WP API) « WordPress Plugins<\/a>\r\n\u3053\u306e API \u3092\u4f7f\u3046\u3053\u3068\u3067\u3001WordPress \u306b\u95a2\u3059\u308b\u3042\u308a\u3068\u3042\u3089\u3086\u308b\u64cd\u4f5c\u304c REST API \u5316\u3055\u308c\u3001\u7d50\u679c\u304c JSON \u3067\u8fd4\u3063\u3066\u304d\u307e\u3059\u3002\r\n\u4f8b\u3048\u3070\u3001\u3053\u306e\u6295\u7a3f\u306b\u95a2\u3059\u308b\u60c5\u5831\u306f\u4ee5\u4e0b\u306e URL \u304b\u3089\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002\r\nhttps:\/\/dogmap.jp\/wp-json\/posts\/3136<\/a>\r\n\r\n\u3053\u306e API \u306b\u5bfe\u3057\u3066\u72ec\u81ea\u306e endpoint \u3092\u8ffd\u52a0\u3059\u308b\u65b9\u6cd5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002\r\n\u8a73\u3057\u3044\u3053\u3068\u306f\u3001\u4ee5\u4e0b\u306e URL \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002\r\nExtending the API - WP REST API Documentation<\/a>\r\n<\/span>\r\n\r\n\u307e\u305a\u306f\u3001\u30b5\u30f3\u30d7\u30eb\u30bd\u30fc\u30b9\u3092\u63d0\u793a\u3057\u307e\u3059\u3002\r\n\u3053\u308c\u306f \/wp-json\/menus \u3067\u30ab\u30b9\u30bf\u30e0\u30e1\u30cb\u30e5\u30fc\u306e\u4e00\u89a7\u3092 \/wp-json\/menus\/{id} \u3067\u3001\u30e1\u30cb\u30e5\u30fc\u306e term id \u3092\u6307\u5b9a\u3057\u3066\u751f\u6210\u3055\u308c\u308b html ( wp_get_nav_menu_items()<\/a> \u306e\u5b9f\u884c\u7d50\u679c ) \u3092\u8fd4\u3059\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\r\n\r\n[php]\\d+)'] = array(\r\n\t\t\tarray( array( $this, 'get_nav_menu_items'), WP_JSON_Server::READABLE ),\r\n\t\t);\r\n\r\n\t\treturn $routes;\r\n\t}\r\n\r\n\tpublic function get_nav_menus( $_headers ) {\r\n\t\tglobal $wpdb;\r\n\t\t$sql = $wpdb->prepare(\r\n\t\t\t\"SELECT t.term_id as ID, t.name, t.slug\r\n\t\t\t FROM {$wpdb->term_taxonomy} tt\r\n\t\t\t INNER JOIN {$wpdb->terms} t ON t.term_id = tt.term_id\r\n\t\t\t WHERE tt.taxonomy = %s\",\r\n\t\t\t 'nav_menu');\r\n\t\t$menus = $wpdb->get_results($sql);\r\n\t\treturn $menus;\r\n\t}\r\n\r\n\tpublic function get_nav_menu_items( $menu_id, $_headers ) {\r\n\t\t$menu = wp_get_nav_menu_object($menu_id);\r\n\t\t$menu_items = \r\n\t\t\t( $menu && ! is_wp_error($menu) )\r\n\t\t\t? wp_get_nav_menu_items( $menu->term_id, array( 'update_post_term_cache' => false ) )\r\n\t\t\t: array();\r\n\t\treturn $menu_items;\r\n\t}\r\n}[\/php]\r\n\r\n\u307e\u305a\u306f\u3001wp_json_server_before_serve \u30a2\u30af\u30b7\u30e7\u30f3\u30d5\u30c3\u30af\u5185\u3067 json_endpoints \u30d5\u30a3\u30eb\u30bf\u30fc\u30d5\u30c3\u30af\u3092\u4f7f\u7528\u3057\u3066 endpoint \u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002( 2-5\u884c\u76ee )\r\n\r\nendpoint \u3092\u8ffd\u52a0\u3059\u308b\u306b\u306f json_endpoints \u30d5\u30a3\u30eb\u30bf\u30fc\u30d5\u30c3\u30af\u3067\u53d7\u3051\u53d6\u308b $routes \u306b\u9023\u60f3\u914d\u5217\u306e\u30ad\u30fc\u3068\u3057\u3066\u30d1\u30b9\u306e\u6b63\u898f\u8868\u73fe\u3001\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3092\u767b\u9332\u3057\u307e\u3059\u3002( 8-18 \u884c\u76ee )\r\n\r\n\u6b63\u898f\u8868\u73fe\u5185\u306b\u540d\u524d\u4ed8\u304d\u30ad\u30e3\u30d7\u30c1\u30e3\u3092\u8a2d\u5b9a\u3057\u3066\u304a\u304f\u3068\u3001\u305d\u308c\u306b\u5408\u81f4\u3057\u305f\u5024\u304c\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u306b\u6e21\u3055\u308c\u307e\u3059\u3002\r\n\u4f8b\u3048\u307013\u884c\u76ee\u3067
'\/menus\/(?P<menu_id>\\d+)'<\/code> \u3068\u8a18\u8ff0\u3055\u308c\u3066\u3044\u307e\u3059\u304c
(?P<menu_id>\\d+)<\/code> \u306b\u5408\u81f4\u3059\u308b\u5024\u304c\u3001\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570
array( $this, 'get_nav_menu_items')<\/code> \u306b
$menu_id<\/code> \u3068\u3057\u3066\u6e21\u3055\u308c\u307e\u3059\u3002\r\n\u307e\u305f\u3001\u3053\u306e\u307b\u304b\u306b\u3082\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u5185\u3067\u306f\u4ee5\u4e0b\u306e\u5024\u304c\u5f15\u6570\u3068\u3057\u3066\u6e21\u3055\u308c\u307e\u3059\u3002\r\n
\r\n\t
- _method: The requested HTTP method (GET, HEAD, POST, PUT, DELETE)<\/li>\r\n\t
- _route: The route followed to your endpoint (\/posts\/(?P
\\d+))<\/li>\r\n\t - _path: The actual path that matches your route (\/posts\/1)<\/li>\r\n\t
- _headers: An associative array of header names to values. Names are always uppercased (HTTP header names are case-insensitive)<\/li>\r\n\t
- _files: An associative array of upload file data, in the same format as $_FILES<\/li>\r\n<\/ul>\r\n\u3053\u308c\u3089\u3082\u3001\u305d\u308c\u305e\u308c $_method, $_route ... \u306a\u3069\u3068\u3057\u3066\u3001\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3067\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002\r\n\r\n\u4ee5\u4e0a\u3001\u3056\u3063\u304f\u308a\u3067\u3059\u304c\u3053\u3093\u306a\u611f\u3058\u3002\r\n\r\n\u305d\u308c\u3067\u306f\u3001\u3088\u3044 WordPress JSON REST API \u30e9\u30a4\u30d5\u3092\uff01","excerpt":"\u5148\u65e5\u3001\u53c2\u52a0\u3057\u3066\u304d\u305f WordCamp San Francisco 2014 \u3067\u3082\u8a71\u984c\u306b\u306a\u3063\u3066\u305f WP JSON REST API \u306b\u72ec\u81ea\u306e endpoint \u3092\u8ffd\u52a0\u3059\u308b\u65b9\u6cd5\u3067\u3059\u3002 # WordCamp San Franc […]","date":"2014-11-19 16:20:03","author":"\u3092\u304b\u3082\u3068","categories":["WordPress"],"tags":["JSON REST API","WordPress"]},{"id":3126,"title":"WordPress \u30d7\u30ed\u30d5\u30a7\u30c3\u30b7\u30e7\u30ca\u30eb\u990a\u6210\u8aad\u672c","permalink":"https:\/\/dogmap.jp\/2014\/10\/10\/post-3126\/","content":"\u300cWordPress \u30d7\u30ed\u30d5\u30a7\u30c3\u30b7\u30e7\u30ca\u30eb\u990a\u6210\u8aad\u672c<\/a>\u300d\u3068\u3044\u3046\u672c\u3092\u3001@naokomc<\/a>\u3055\u3093\u3001@428design<\/a>\u3055\u3093\u3001@masatoshisomeya<\/a>\u3055\u3093\u3068\u304b\u3068\u4e00\u7dd2\u306b\u66f8\u304d\u307e\u3057\u305f\u3002\r\n\u3068\u8a00\u3063\u3066\u3082\u3001\u4f8b\u306e\u3054\u3068\u304f\u51fa\u7248\u793e\u306e\u4eba\u3068\u306f\u4e00\u5ea6\u3082\u4f1a\u3063\u305f\u3053\u3068\u7121\u3044\u3093\u3067\u3059\u3051\u3069\u306d\u3002\r\n\u3082\u3063\u3071\u3089\u3001\u3084\u308a\u3068\u308a\u306f\u30e1\u30fc\u30eb\u304b Facebook \u3060\u3051\u3002\u73fe\u884c\u306e\u5165\u7a3f\u3082\u6280\u8a55\u3055\u3093\u306e GitLab \u30b5\u30fc\u30d0\u3078\u306e push \u3067\u9001\u308b\u3068\u3044\u3046\u30ea\u30e2\u30fc\u30c8\u30ef\u30fc\u30af\u3063\u3077\u308a\u3002\r\n\u307e\u3063\u305f\u304f\u826f\u3044\u6642\u4ee3\u306b\u306a\u3063\u305f\u3082\u3093\u3067\u3059\u3002\r\nWordCamp Tokyo 2014<\/a> \u306e\u4f1a\u5834\u5185\u3067\u5148\u884c\u8ca9\u58f2\u3055\u308c\u308b\u3088\u3046\u3067\u3059\u306e\u3067\u3001\u305d\u3061\u3089\u306b\u884c\u304f\u4e88\u5b9a\u306e\u3042\u308b\u4eba\u306f\u305c\u3072\u30fc\r\n\r\n\u3055\u3066\u3001\u50d5\u304c\u66f8\u3044\u305f\u306e\u306f\u7b2c6\u7ae0\u300cWordPress \u30e6\u30fc\u30b6\u306e\u305f\u3081\u306e Nginx \u5165\u9580\u300d\u3063\u3066\u6240\u3067\u3059\u3002\r\n\u4ed5\u4e8b\u3067\u3088\u304f\u4f7f\u3046 Nginx \u3092\u30cd\u30bf\u306b\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304b\u3089\u8a2d\u5b9a\u307e\u3067\u3001\u306f\u3058\u3081\u3066 Nginx \u89e6\u308b\u4eba\u3067\u3082\u306a\u3093\u3068\u304b WordPress \u3092\u52d5\u304b\u305b\u308b\u3088\u3046\u306b\u3059\u308b\u3068\u3053\u308d\u307e\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u308b\u306f\u305a\u3067\u3059\u3002\r\n(\u82e5\u5e72\u3001\u99c6\u3051\u8db3\u6c17\u5473\u3067\u3059\u304c...)\r\n\r\n\u4ee5\u4e0b\u3001\u50d5\u306e\u7ae0\u306e\u76ee\u6b21\r\n
\r\n
- Nginx \u3068\u306f\uff1f - Nginx \u306e\u30b5\u30fc\u30d0\u69cb\u6210\u3084\u7279\u5fb4<\/li>\r\n
- Nginx \u3067 WordPress \u3092\u5229\u7528\u3059\u308b\u306b\u306f - \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u8a2d\u5b9a<\/li>\r\n
- Nginx \u306e\u8a2d\u5b9a(\u57fa\u672c\u7de8) - WordPress \u306e\u904b\u7528\u306b\u5f79\u7acb\u3064<\/li>\r\n
- Nginx \u306e\u8a2d\u5b9a(\u5fdc\u7528\u7de8) - \u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3001\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5<\/li>\r\n<\/ul>\r\n\r\n<\/span>\r\n\r\n\u6700\u521d\u306e\u7ae0\u3060\u3051\u5f15\u7528\u3057\u3066\u304a\u304d\u307e\u3059\u306d\u3002\r\n\r\n
Nginx \u3068\u306f\uff1f<\/h2>\r\n\r\n
Nginx OverView<\/h3>\r\nNginx\uff08\u30a8\u30f3\u30b8\u30f3\u30a8\u30c3\u30af\u30b9\uff09\u3068\u306f\u3001\u8efd\u91cf\u3067\u9ad8\u6027\u80fd\u306a\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306eWeb\u30b5\u30fc\u30d0\u3067\u3059\u3002\r\nHTML\u3001CSS\u3001JavaScript\u3084\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u306e\u9759\u7684\u30d5\u30a1\u30a4\u30eb\u3092\u9ad8\u901f\u3067\u914d\u4fe1\u3067\u304d\u3001\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u3084\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u306a\u3069\u306e\u6a5f\u80fd\u3092\u5099\u3048\u3066\u3044\u307e\u3059\u3002\r\n\r\n<\/a>\r\nWordPress\u304c\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\u69cb\u6210\u3057\u305f\u4e00\u822c\u7684\u306a\u30b5\u30fc\u30d0\u3092Apache\u3001Nginx\u305d\u308c\u305e\u308c\u3067\u69cb\u6210\u3057\u305f\u5834\u5408\u3001\u56f31\u306e\u3088\u3046\u306b\u306a\u308b\u3067\u3057\u3087\u3046\u3002\r\nNginx\u3067\u306f\u3001Apache\u306e\u3088\u3046\u306bPHP\u3092\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u3057\u3066\u7d44\u307f\u8fbc\u3080\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u3061\u3087\u3046\u3069Apache\u3067PHP\u3092CGI\u7248\u3068\u3057\u3066\u52d5\u4f5c\u3055\u305b\u308b\u72b6\u6cc1\u3068\u4f3c\u3066\u3044\u307e\u3059\u3002\r\nNginx\u306b\u306f\u30e2\u30b8\u30e5\u30fc\u30eb\u7248PHP\u306f\u63d0\u4f9b\u3055\u308c\u3066\u3044\u306a\u3044\u305f\u3081\u3001Apache\u306eCGI\u7248PHP\u3068\u540c\u69d8\u306bWeb\u30b5\u30fc\u30d0\u3068\u306f\u5225\u306e\u30d7\u30ed\u30bb\u30b9\uff08php-fpm\uff09\u3067PHP\u3092\u8d77\u52d5\u3055\u305b\u3066\u304a\u304d\u3001Nginx\u3068\u306e\u901a\u4fe1\u306fTCP\u30bd\u30b1\u30c3\u30c8\u3084\u3001UNIX\u30c9\u30e1\u30a4\u30f3\u30bd\u30b1\u30c3\u30c8\u3092\u7528\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\r\n\r\n
\u30d0\u30fc\u30b8\u30e7\u30f3<\/h3>\r\n\u65e5\u672c\u3067\u3082\u6ce8\u76ee\u3055\u308c\u3066\u304d\u3066\u3044\u308bNginx\u3067\u3059\u304c\u3001\u305d\u308c\u307b\u3069\u82e5\u3044\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\r\n\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306f2002\u5e74\u306b Igor Sysoev\uff08\u73feNginx.inc CTO\uff09\u306b\u3088\u3063\u3066\u958b\u59cb\u3055\u308c\u307e\u3057\u305f\u3002\r\n\u73fe\u5728\u306f\u5b89\u5b9a\uff08stable\uff09\u30d0\u30fc\u30b8\u30e7\u30f3\u306e1.6.x\u7cfb\u3068\u30e1\u30a4\u30f3\u30e9\u30a4\u30f3\uff08mainline\uff09\u30d0\u30fc\u30b8\u30e7\u30f3\u306e1.7.x\u7cfb\u306e2\u3064\u306e\r\n\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u3066\u3044\u307e\u3059\u3002\r\nstable\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u4e3b\u306b\u30d0\u30b0\u30d5\u30a3\u30c3\u30af\u30b9\u3084\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u307f\u3092\u884c\u3044\u3001\u7a4d\u6975\u7684\u306b\u65b0\u6a5f\u80fd\u304c\u8ffd\u52a0\u3055\u308c\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002\r\n\u4e00\u65b9\u3001mainline\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u65b0\u6a5f\u80fd\u306e\u8ffd\u52a0\u304c\u7a4d\u6975\u7684\u306b\u884c\u308f\u308c\u307e\u3059\u304c\u3001\u305d\u308c\u306b\u4f34\u3046\u30d0\u30b0\u306e\u767a\u751f\u306a\u3069\u306e\u30ea\u30b9\u30af\u3082\u3042\u308a\u307e\u3059\u3002\r\nmainline\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u691c\u8a3c\u3055\u308c\u554f\u984c\u306a\u3044\u3068\u5224\u65ad\u3055\u308c\u305f\u6a5f\u80fd\u306e\u307f\u304c\u3001\u306e\u3061\u307b\u3069stable\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u6295\u5165\u3055\u308c\u308b\u5f62\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\r\n\u5b9f\u9a13\u7684\u306a\u30b5\u30a4\u30c8\u3067\u306a\u3044\u9650\u308a\u306fstable\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u304c\u61f8\u547d\u3067\u3057\u3087\u3046\u3002\r\n\r\n
\u30b7\u30a7\u30a2<\/h3>\r\n\u6700\u8fd1\u306eW3Techs\u306e\u8abf\u67fb\u306b\u3088\u308c\u3070\u3001\u30c8\u30c3\u30d7100\u4e07\u30b5\u30a4\u30c8\u306e\u3046\u3061\u306e\u5b9f\u306b23.8\uff05\u304cNginx\u3092\u63a1\u7528\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002\r\n\u8aad\u8005\u306b\u306f\u99b4\u67d3\u307f\u6df1\u3044WordPress.com\u3084WordPress.org\u3068\u3044\u3063\u305f\u30b5\u30a4\u30c8\u3067\u3082\u521d\u671f\u306e\u9803\u304b\u3089\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002\r\n\u6700\u521d\u306eNginx\u306espdy\u5bfe\u5fdc\u30d1\u30c3\u30c1\u306f\u3001WordPress.com\u3092\u904b\u55b6\u3059\u308bAutomattic\u793e\u306b\u3088\u3063\u3066\u5bc4\u8d08\u3055\u308c\u3066\u3044\u307e\u3059\u3002\r\n\r\n
\u7279\u5fb4<\/h3>\r\nNginx\u306fApache\u306e\u3088\u3046\u306b\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u51e6\u7406\u3092\u30b9\u30ec\u30c3\u30c9\u3067\u884c\u308f\u305a\u3001\u975e\u540c\u671f\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u7528\u3044\u308b\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u30e2\u30c7\u30eb\u3092\u63a1\u7528\u3057\u3066\u3044\u307e\u3059\u3002\r\n\u3053\u306e\u30e2\u30c7\u30eb\u306e\u5229\u70b9\u306f\u3001\u591a\u6570\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u6765\u305f\u5834\u5408\u306b\u5b9f\u884c\u30b9\u30bf\u30c3\u30af\u3092\u30b3\u30d4\u30fc\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u30b9\u30ec\u30c3\u30c9\u30e2\u30c7\u30eb\u306e\u30b5\u30fc\u30d0\u3068\u9055\u3063\u3066\u30011\u30d7\u30ed\u30bb\u30b9\u3067\u8907\u6570\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u51e6\u7406\u3067\u304d\u308b\u3068\u3053\u308d\u306b\u3042\u308a\u307e\u3059\u3002\r\n\u305d\u306e\u305f\u3081\u3001CPU\u8ca0\u8377\u304c\u5c11\u306a\u304f\u3001\u30e1\u30e2\u30ea\u6d88\u8cbb\u91cf\u3082\u6975\u7aef\u306b\u5c11\u306a\u304f\u3066\u6e08\u3080\u3068\u3044\u3046\u5229\u70b9\u304c\u3042\u308a\u307e\u3059\u3002\r\n\u307e\u305f\u3001\u3082\u30461\u3064\u306e\u7279\u5fb4\u3068\u3057\u3066\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304c\u8aad\u307f\u3084\u3059\u3044\u3068\u3044\u3046\u3053\u3068\u3082\u6319\u3052\u3089\u308c\u307e\u3059\u3002Apache\u306a\u3069\u3001\u307b\u304b\u306eWeb\u30b5\u30fc\u30d0\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3068\u898b\u6bd4\u3079\u3066\u307f\u308c\u3070\u308f\u304b\u308b\u306e\u3067\u3059\u304c\u3001if\u6587\u304c\u4f7f\u3048\u305f\u308a\u5909\u6570\u304c\u4f7f\u3048\u305f\u308a\u3068\u30d7\u30ed\u30b0\u30e9\u30de\u306b\u3068\u3063\u3066\u975e\u5e38\u306b\u308f\u304b\u308a\u3084\u3059\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002","excerpt":"\u300cWordPress \u30d7\u30ed\u30d5\u30a7\u30c3\u30b7\u30e7\u30ca\u30eb\u990a\u6210\u8aad\u672c\u300d\u3068\u3044\u3046\u672c\u3092\u3001@naokomc\u3055\u3093\u3001@428design\u3055\u3093\u3001@masatoshisomeya\u3055\u3093\u3068\u304b\u3068\u4e00\u7dd2\u306b\u66f8\u304d\u307e\u3057\u305f\u3002 \u3068\u8a00\u3063\u3066\u3082\u3001\u4f8b\u306e\u3054\u3068\u304f\u51fa\u7248\u793e\u306e\u4eba\u3068\u306f\u4e00\u5ea6\u3082\u4f1a\u3063\u305f […]","date":"2014-10-10 18:52:17","author":"\u3092\u304b\u3082\u3068","thumbnail":"","categories":["WordPress"],"tags":["WordPress"]},{"id":3109,"title":"WordPress \u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u4f7f\u3046\u5b9a\u6570\u5024\u306f\u30d8\u30c3\u30c0\u90e8\u5206\u3067\u7ba1\u7406\u3057\u3066 get_file_data() \u3067\u53d6\u5f97\u3059\u308b\u3068\u826f\u3044\u3068\u601d\u3046\u3051\u3069\u3001\u3069\u3093\u306a\u3082\u3093\u3067\u3057\u3087\u3046","permalink":"https:\/\/dogmap.jp\/2014\/09\/10\/post-3109\/","content":"\u3048\u30fc\u3001\u30bf\u30a4\u30c8\u30eb\u306e\u901a\u308a\u306a\u3093\u3067\u3059\u304c WordPress \u3067\u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u3057\u3066\u3044\u308b\u6642\u306b\u975e\u5e38\u306b\u4fbf\u5229\u306a\u95a2\u6570\u3068\u3057\u3066 get_file_data()<\/a> \u3063\u3066\u306e\u304c\u3042\u308a\u307e\u3059\u3002\r\n\u3044\u307e\u3001\u4e45\u3057\u3076\u308a\u306b Codex \u307f\u305f\u3089\u3001\u307b\u3068\u3093\u3069\u8aac\u660e\u3092\u653e\u68c4\u3057\u3066\u307e\u3059\u306d\u3002\r\n\u6700\u8fd1\u51fa\u305f WordPress\u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u306e\u30d0\u30a4\u30d6\u30eb<\/a>\u3063\u3066\u3044\u3046\u672c\u3067\u3061\u3089\u3063\u3068\u89e6\u308c\u3066\u304a\u3044\u305f\u306e\u3067\u3001\u305d\u3053\u304b\u3089\u5f15\u7528\u3057\u307e\u3059\u3002\r\n\r\n
[php]$plugin_data = get_file_data( __FILE__, array( 'version' => 'Version'));\r\n$plugin_version = $plugin_data['version'];[\/php]\r\n\r\n\u30d7\u30e9\u30b0\u30a4\u30f3\u3084\u30c6\u30fc\u30de\u306e\u30d8\u30c3\u30c0\u30fc\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b\u306b\u306f get_file_data() \u95a2\u6570\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\r\n\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u5192\u982d\u306b\u306f\u30b3\u30e1\u30f3\u30c8\u5f62\u5f0f\u3067\u30d7\u30e9\u30b0\u30a4\u30f3\u540d\u3084\u30d0\u30fc\u30b8\u30e7\u30f3\u3001\u30c6\u30ad\u30b9\u30c8\u30c9\u30e1\u30a4\u30f3\u304c\u30d8\u30c3\u30c0\u30fc\u60c5\u5831\u3068\u3057\u3066\u66f8\u304b\u308c\u3066\u3044\u307e\u3059\u3002\r\n\u305f\u3068\u3048\u3070\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831\u3092\u3053\u3061\u3089\u304b\u3089\u8aad\u307f\u51fa\u3057\u3001wp_enqueue_script() \u95a2\u6570\u3067 JavaScript \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831\u3092\u5909\u66f4\u3057\u305f\u308a\u3001\u7ffb\u8a33\u30d5\u30a1\u30a4\u30eb\u306e\u30c6\u30ad\u30b9\u30c8\u30c9\u30e1\u30a4\u30f3\u3084\u30c9\u30e1\u30a4\u30f3\u30d1\u30b9\u306a\u3069\u3092\u53d6\u5f97\u3057\u3066 load_textdomain() \u95a2\u6570\u3067\u7ffb\u8a33\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u3068\u304d\u306b\u4f7f\u7528\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\u3002\r\n\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30d8\u30c3\u30c0\u30fc\u60c5\u5831\u3092\u4f7f\u3063\u3066\u4e00\u5143\u7ba1\u7406\u304c\u3067\u304d\u308b\u305f\u3081\u3001\u30bd\u30fc\u30b9\u4e2d\u306b\u30cf\u30fc\u30c9\u30b3\u30fc\u30c9\u3059\u308b\u5fc5\u8981\u304c\u306a\u304f\u306a\u308a\u307e\u3059\u3002\r\n\u307e\u305f\u3001\u4ed6\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3084\u30c6\u30fc\u30de\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u4f9d\u5b58\u3059\u308b\u3088\u3046\u306a\u51e6\u7406\u3092\u66f8\u304d\u305f\u3044\u5834\u5408\u306b\u3082\u4f7f\u3048\u308b\u3067\u3057\u3087\u3046\u3002\r\n\r\nWordPress \u306b\u6700\u521d\u304b\u3089\u3064\u3044\u3066\u304f\u308b\u30d7\u30e9\u30b0\u30a4\u30f3 Hello Dolly \u306e\u30e1\u30bf\u60c5\u5831\u3092\u53d6\u5f97\u3057\u305f\u7d50\u679c\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002\r\n\r\n[php]$data = get_file_data( ABSPATH.'wp-content\/plugins\/hello.php',\r\n\tarray( 'name' => 'Plugin Name',\r\n\t\t'version' => 'Version',\r\n\t\t'uri' => 'Plugin URI',\r\n\t\t'description' => 'Description',\r\n\t\t'author' => 'Author',\r\n\t\t'author_uri' => 'Author URI',\r\n\t\t'textdomain' => 'Text Domain',\r\n\t\t'textdomain_path' => 'Domain Path',\r\n\t));\r\nvar_dump($data);[\/php]\r\n\r\n[php]array(8) {\r\n [\"name\"]=>\r\n string(11) \"Hello Dolly\"\r\n [\"version\"]=>\r\n string(3) \"1.6\"\r\n [\"uri\"]=>\r\n string(41) \"http:\/\/wordpress.org\/plugins\/hello-dolly\/\"\r\n [\"description\"]=>\r\n string(295) \"This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from Hello, Dolly<\/cite> in the upper right of your admin screen on every page.\"\r\n [\"author\"]=>\r\n string(14) \"Matt Mullenweg\"\r\n [\"author_uri\"]=>\r\n string(13) \"http:\/\/ma.tt\/\"\r\n [\"textdomain\"]=>\r\n string(0) \"\"\r\n [\"textdomain_path\"]=>\r\n string(0) \"\"\r\n}\r\n[\/php]<\/blockquote>\r\n\r\n\u5b9f\u306f\u3001\u3053\u306e get_file_data() \u95a2\u6570\u306a\u3093\u3067\u3059\u304c\u3001WordPress \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u898f\u5b9a\u306e\u30d8\u30c3\u30c0\u60c5\u5831\u3060\u3051\u3067\u306a\u304f\u3001\u72ec\u81ea\u306b\u30bb\u30c3\u30c8\u3057\u305f\u60c5\u5831\u3082\u53d6\u3063\u3066\u304f\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3093\u3067\u3059\u3002\r\n<\/span>\r\n\r\n\u6700\u8fd1\u3001\u9b4d\u9b4e<\/a>\u3063\u3066\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3057\u305f\u3093\u3067\u3059\u3002\r\n\u3053\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u4e2d\u3067 PHP 5.4 \u4ee5\u964d\u3067\u3057\u304b\u4f7f\u3048\u306a\u3044\u69cb\u6587\u3092\u4f7f\u3063\u3066\u308b\u3093\u3067 5.3, 5.2 \u306e\u74b0\u5883\u3067\u4f7f\u3063\u3066\u308b\u4eba\u304c\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u6709\u52b9\u5316\u3059\u308b\u3068 Fatal Error \u3092\u5410\u304f\u3063\u3066\u3053\u3068\u306a\u306e\u3067\u3001PHP 5.4 \u4ee5\u4e0a\u3058\u3083\u306a\u3044\u5834\u5408\u306f\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u6709\u52b9\u5316\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u30ed\u30b8\u30c3\u30af\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002\r\n\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002\r\n[php] 'Version',\r\n\t'text_domain' => 'Text Domain',\r\n\t'domain_path' => 'Domain Path',\r\n\t'minimum_php' => 'Support PHP Version',\r\n\t));\r\n\r\n\/\/ Require PHP ver.5.4 or higer\r\nif ( version_compare(phpversion(), $this_plugin_info['minimum_php']) >= 0) {\r\n\tif ( !class_exists('SpiritsAndGoblins_Admin') )\r\n\t\trequire(dirname(__FILE__).'\/includes\/class-SpiritsAndGoblins_Admin.php');\r\n\tif ( !class_exists('SpiritsAndGoblins') )\r\n\t\trequire(dirname(__FILE__).'\/includes\/class-SpiritsAndGoblins.php');\r\n\r\n\tload_plugin_textdomain(\r\n\t\t$this_plugin_info['text_domain'], false,\r\n\t\tdirname(plugin_basename(__FILE__)) . $this_plugin_info['domain_path']);\r\n\r\n\t\/\/ Go Go Go!\r\n\t$spirits_and_goblins = SpiritsAndGoblins::get_instance();\r\n\t$spirits_and_goblins->init();\r\n\tregister_activation_hook(__FILE__, array($spirits_and_goblins, 'activate'));\r\n\tregister_deactivation_hook(__FILE__, array($spirits_and_goblins, 'deactivate'));\r\n\r\n\tif (is_admin()) {\r\n\t\t$spirits_and_goblins_admin = SpiritsAndGoblins_Admin::get_instance();\r\n\t\t$spirits_and_goblins_admin->init();\r\n\t}\r\n\r\n} else {\r\n\t$plugin_notice = sprintf(\r\n\t\t__('Oops, this plugin will soon require PHP %s or higher.', $this_plugin_info['text_domain']),\r\n\t\t$this_plugin_info['minimum_php']);\r\n\tregister_activation_hook(__FILE__, create_function('',\r\n\t\t\"deactivate_plugins('\".plugin_basename( __FILE__ ).\"'); wp_die('{$plugin_notice}');\"));\r\n}\r\n\r\nunset($this_plugin_info);[\/php]\r\n\r\n\u30d8\u30c3\u30c0\u30fc\u60c5\u5831\u306b \"Support PHP Version:\" \u3063\u3066\u306e\u3092\u8ffd\u52a0\u3057\u3066\u3001\u305d\u308c\u3092 get_file_data() \u3067\u53d6\u5f97\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u5206\u304b\u308b\u3068\u601d\u3044\u307e\u3059\u3002","excerpt":"\u3048\u30fc\u3001\u30bf\u30a4\u30c8\u30eb\u306e\u901a\u308a\u306a\u3093\u3067\u3059\u304c WordPress \u3067\u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u3057\u3066\u3044\u308b\u6642\u306b\u975e\u5e38\u306b\u4fbf\u5229\u306a\u95a2\u6570\u3068\u3057\u3066 get_file_data() \u3063\u3066\u306e\u304c\u3042\u308a\u307e\u3059\u3002 \u3044\u307e\u3001\u4e45\u3057\u3076\u308a\u306b Codex \u307f\u305f\u3089\u3001\u307b\u3068\u3093\u3069\u8aac\u660e\u3092\u653e\u68c4\u3057\u3066\u307e\u3059 […]","date":"2014-09-10 10:33:22","author":"\u3092\u304b\u3082\u3068","categories":["WordPress"],"tags":["WordPress","WordPress Plugin"]},{"id":3087,"title":"WordPress \u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u306e\u30d0\u30a4\u30d6\u30eb","permalink":"https:\/\/dogmap.jp\/2014\/07\/23\/post-3087\/","content":"\u79c1\u304c\u57f7\u7b46\u3057\u305f WordPress \u95a2\u4fc2\u306e\u672c\u3068\u3057\u3066\u306f\u4e8c\u518a\u76ee\u3068\u306a\u308b\u300cWordPress\u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u306e\u30d0\u30a4\u30d6\u30eb<\/a>\u300d\u304c 7\/22 \u306b\u767a\u58f2\u3055\u308c\u307e\u3057\u305f\u3002\r\n\u3053\u308c\u306f \u5bae\u3055\u3093<\/a>\u3001\u897f\u5ddd\u3055\u3093<\/a>\u3001\u4e09\u597d\u3055\u3093<\/a>\u9054\u3068\u306e\u5171\u8457\u306b\u306a\u308a\u307e\u3059\u3002\r\n\r\n\u4ee5\u4e0b\u306b\u5e8f\u6587\u3092\u5f15\u7528\u3057\u307e\u3059\u3002\r\nWordPress\u306f\u4e16\u754c\u306e7,000\u4e07\u30b5\u30a4\u30c8\u4ee5\u4e0a\u3067\u4f7f\u7528\u3055\u308c\u3066\u304a\u308a\u3001CMS\u30b7\u30a7\u30a2\u306b\u3057\u306660%\u306b\u3082\u306a\u308b\u3001\u4e16\u754c\u3067\u6700\u3082\u591a\u304f\u4f7f\u7528\u3055\u308c\u3066\u3044\u308bCMS\u3067\u3059\u3002\r\n\u3053\u306eWordPress\u306e\u30b7\u30a7\u30a2\u3092\u652f\u3048\u308b\u3082\u3063\u3068\u3082\u5927\u304d\u306a\u8981\u56e0\u306e1\u3064\u306f\u3001WordPress\u304c\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3067\u3042\u308b\u304b\u3089\u3067\u3059\u3002\r\n\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306e\u8c4a\u304b\u3055\u3092\u652f\u3048\u308b\u3082\u306e\u306f\u30b3\u30f3\u30c6\u30f3\u30c4\u3067\u3059\u3002\r\n\u4e16\u754c\u4e2d\u306e\u6570\u3005\u306e\u826f\u8cea\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u73fe\u5728\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306e\u8c4a\u304b\u3055\u3092\u5f62\u6210\u3057\u3066\u304a\u308a\u3001\u73fe\u5728\u3082\u3081\u3056\u307e\u3057\u3044\u30b9\u30d4\u30fc\u30c9\u3067\u9032\u5316\u3057\u3066\u3044\u307e\u3059\u3002\r\n\u305d\u3057\u3066\u3001\u30b5\u30fc\u30d0\u30fc\u3084\u30df\u30c9\u30eb\u30a6\u30a8\u30a2\u3001\u305d\u3057\u3066WordPress\u306e\u3088\u3046\u306aCMS\u306f\u3001\u3053\u308c\u3089\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u3055\u3055\u3048\u308b\u305f\u3081\u306e\u7e01\u306e\u4e0b\u306e\u529b\u6301\u3061\u3067\u3057\u304b\u3042\u308a\u307e\u305b\u3093\u3002\r\n\u3057\u304b\u3057\u3001\u826f\u8cea\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u4f5c\u308b\u306b\u306f\u512a\u308c\u305f\u30c4\u30fc\u30eb\u304c\u5fc5\u8981\u3067\u3001\u305d\u308c\u3089\u306e\u30c4\u30fc\u30eb\u306e\u958b\u767a\u306b\u306f\u3001\u81a8\u5927\u306a\u30b3\u30b9\u30c8\u304c\u5fc5\u8981\u3067\u3059\u3002\r\n\u305d\u3046\u3044\u3063\u305f\u30b3\u30b9\u30c8\u8ca0\u62c5\u3092\u5206\u62c5\u3057\u3042\u304a\u3046\u3068\u3044\u3046\u8003\u3048\u65b9\u304b\u3089\u3001\u79c1\u305f\u3061\u306e\u30a6\u30a7\u30d6\u696d\u754c\u306f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3068\u3044\u3046\u8003\u3048\u65b9\u3092\u53d6\u308a\u5165\u308c\u3001\u7a4d\u6975\u7684\u306b\u6d3b\u7528\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002\r\n\u305d\u3046\u3057\u305f\u80cc\u666f\u306e\u4e2d\u3067\u3001\u512a\u308c\u305f\u30c4\u30fc\u30eb\u304c\u751f\u307e\u308c\u3001\u305d\u308c\u3092\u571f\u53f0\u306b\u3057\u3066\u3055\u3089\u306b\u826f\u8cea\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u751f\u307e\u308c\u3066\u3044\u308b\u306e\u304c\u3001\u73fe\u5728\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3067\u3059\u3002\r\n\u3055\u3089\u306b\u3044\u3048\u3070\u3001WordPress\u304c\u63a1\u7528\u3059\u308b\u30e9\u30a4\u30bb\u30f3\u30b9\u306fGPL\u3067\u3059\u3002\r\n\u3053\u306eGPL\u30e9\u30a4\u30bb\u30f3\u30b9\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306b\u5bfe\u3057\u3066\u81ea\u7531\u3092\u4fdd\u8a3c\u3059\u308b\u3053\u3068\u3092\u4e3b\u76ee\u7684\u3068\u3057\u305f\u30e9\u30a4\u30bb\u30f3\u30b9\u3067\u3042\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u5229\u7528\u898f\u7d04\u3084\u30e9\u30a4\u30bb\u30f3\u30b9\u6761\u9805\u306a\u3069\u3092\u6c17\u306b\u3059\u308b\u3053\u3068\u7121\u304f\u81ea\u7531\u306a\u76ee\u7684\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\r\nWordPress\u306fGPL\u3092\u63a1\u7528\u3057\u3066\u3044\u308b\u304b\u3089\u3053\u305d\u3001\u73fe\u5728\u306e\u30b7\u30a7\u30a2\u3092\u7372\u5f97\u3057\u3066\u3044\u308b\u3068\u79c1\u305f\u3061\u306f\u8003\u3048\u3066\u3044\u307e\u3059\u3002\r\n\u305d\u3093\u306a\u4e2d\u3067\u3001\u65e5\u672c\u306b\u304a\u3044\u3066\u306f\u3001\u6bce\u6708\u3068\u8a00\u3063\u3066\u3082\u3044\u3044\u307b\u3069\u306e\u305f\u304f\u3055\u3093\u306eWordPress\u95a2\u9023\u66f8\u7c4d\u304c\u767a\u58f2\u3055\u308c\u3001\u30a4\u30d9\u30f3\u30c8\u3084\u30bb\u30df\u30ca\u30fc\u306a\u3069\u3082\u5168\u56fd\u5404\u5730\u3067\u6bce\u9031\u306e\u3088\u3046\u306b\u958b\u50ac\u3055\u308c\u3066\u3044\u307e\u3059\u3002\r\nWordPress\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u304c\u958b\u50ac\u3059\u308b\u516c\u5f0f\u306a\u30a4\u30d9\u30f3\u30c8WordCamp\u306b\u306f\u6bce\u56de1000\u540d\u3092\u8d85\u3048\u308b\u307b\u3069\u306e\u53c2\u52a0\u8005\u304c\u96c6\u307e\u308b\u3088\u3046\u306b\u3082\u306a\u3063\u3066\u304d\u307e\u3057\u305f\u3002\r\n\u3057\u304b\u3057\u306a\u304c\u3089\u3001\u65e5\u672c\u56fd\u5185\u306b\u304a\u3044\u3066\u3053\u308c\u3089\u306e\u66f8\u7c4d\u3084\u30a4\u30d9\u30f3\u30c8\u304c\u30bf\u30fc\u30b2\u30c3\u30c8\u3068\u3059\u308b\u5c64\u306e\u307b\u3068\u3093\u3069\u304c\u5358\u306a\u308bWordPress\u30e6\u30fc\u30b6\u30fc\u3067\u3042\u308a\u3001\u958b\u767a\u8005\u3092\u30bf\u30fc\u30b2\u30c3\u30c8\u3068\u3057\u305f\u3082\u306e\u304c\u307b\u3068\u3093\u3069\u3042\u308a\u307e\u305b\u3093\u3002\r\n\u4e16\u754c\u4e2d\u306e\u30a8\u30f3\u30b8\u30cb\u30a2\u304c\u81ea\u3089\u306e\u6210\u679c\u7269\u3092\u7121\u511f\u3067\u516c\u958b\u3057\u3060\u308c\u3067\u3082\u5229\u7528\u53ef\u80fd\u306b\u3059\u308b\u306e\u306f\u306a\u305c\u3067\u3057\u3087\u3046\u304b\uff1f\r\n\u305d\u3053\u306b\u306f\u4f55\u3089\u304b\u306e\u30e1\u30ea\u30c3\u30c8\u3084\u610f\u56f3\u304c\u304b\u306a\u3089\u305a\u3042\u308b\u306f\u305a\u3067\u3059\u3002\r\n\u672c\u66f8\u306f\u3001\u65e5\u672c\u3067\u521d\u3081\u3066\u3068\u3082\u8a00\u3048\u308b\u958b\u767a\u8005\u3092\u30bf\u30fc\u30b2\u30c3\u30c8\u3068\u3057\u305fWordPress\u306e\u5c02\u9580\u66f8\u3067\u3059\u3002\r\n\u79c1\u305f\u3061\u306f\u672c\u66f8\u3092\u3068\u304a\u3057\u3066\u3001\u958b\u767a\u8005\u304b\u3089\u307f\u305f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u30e1\u30ea\u30c3\u30c8\u3092\u307f\u306a\u3055\u3093\u3068\u5171\u6709\u3057\u3066\u3044\u304d\u305f\u3044\u3068\u8003\u3048\u3066\u3044\u307e\u3059\u3002\r\n\u305d\u306e\u305f\u3081\u3001\u3053\u308c\u307e\u3067\u306eWordPress\u672c\u3067\u7d39\u4ecb\u3055\u308c\u3066\u304d\u305f\u3088\u3046\u306a\u30b0\u30b0\u308c\u3070\u5206\u304b\u308b\u5185\u5bb9\u306e\u89e3\u8aac\u306b\u306f\u3001\u305d\u308c\u307b\u3069\u91cd\u304d\u3092\u304a\u3044\u3066\u3044\u307e\u305b\u3093\u3002\r\n\u305d\u308c\u3089\u306fWordPress\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u306a\u3069\u306b\u3088\u308a\u3059\u3050\u306b\u9673\u8150\u5316\u3057\u3066\u3044\u304f\u5185\u5bb9\u3060\u3068\u79c1\u305f\u3061\u306f\u8003\u3048\u3066\u304a\u308a\u3001\u3082\u3063\u3068\u666e\u904d\u7684\u306a\u5185\u5bb9\u3092\u53d6\u308a\u6271\u3063\u3066\u3044\u304d\u305f\u3044\u3068\u8003\u3048\u3066\u304d\u307e\u3057\u305f\u3002\r\n\u305f\u3068\u3048\u3070\u3001\u672c\u66f8\u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5bfe\u7b56\u3084\u30a8\u30e9\u30fc\u51e6\u7406\u306f\u3001\u307f\u306a\u3055\u3093\u304c\u958b\u767a\u3059\u308b\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u4fe1\u983c\u6027\u3092\u5411\u4e0a\u306b\u3059\u304f\u306a\u304b\u3089\u305a\u8ca2\u732e\u3067\u304d\u308b\u306f\u305a\u3067\u3059\u3002\r\n\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30b9\u30bf\u30f3\u30c0\u30fc\u30c9\u3084PHPunit\u3092\u4f7f\u7528\u3057\u305f\u30c6\u30b9\u30c8\u65b9\u6cd5\u306f\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u6027\u3092\u5411\u4e0a\u3055\u305b\u308b\u305f\u3081\u306e\u624b\u52a9\u3051\u3068\u306a\u308a\u307e\u3059\u3002\r\nWP-CLI\u3084Grunt\u306a\u3069\u306e\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30fc\u306e\u30c4\u30fc\u30eb\u3084\u3001Vagrant\u306a\u3069\u306e\u958b\u767a\u74b0\u5883\u306f\u3001\u958b\u767a\u306b\u304a\u3051\u308b\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u5287\u7684\u306b\u6539\u5584\u3059\u308b\u3067\u3057\u3087\u3046\u3002\r\n\u516c\u5f0f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3078\u306e\u767b\u9332\u65b9\u6cd5\u3084\u56fd\u969b\u5316\u306a\u3069\u306f\u3001\u307f\u306a\u3055\u3093\u306b\u4e16\u754c\u3078\u306e\u6249\u3092\u958b\u304f\u3053\u3068\u306b\u306a\u308b\u306f\u305a\u3067\u3059\u3002\r\n\u3082\u3061\u308d\u3093\u3001WordPress API\u306b\u3064\u304d\u307e\u3057\u3066\u3082\u3001\u6975\u529b\u305f\u304f\u3055\u3093\u7db2\u7f85\u3067\u304d\u308b\u3088\u3046\u306b\u52aa\u529b\u3057\u307e\u3057\u305f\u3002\r\n\u65e5\u672c\u56fd\u5185\u306b\u304a\u3044\u3066\u306fWordPress\u958b\u767a\u8005\u304c\u5341\u5206\u306b\u591a\u3044\u3068\u306f\u3044\u3048\u307e\u305b\u3093\u3002\r\n\u672c\u66f8\u306e\u91cd\u8981\u306a\u30bf\u30fc\u30b2\u30c3\u30c8\u306f\u3001\u65e2\u5b58\u306eWordPress\u30e6\u30fc\u30b6\u30fc\u3068\u3044\u3046\u3088\u308a\u3082WordPress\u3092\u4f7f\u3063\u305f\u3053\u3068\u304c\u306a\u3044PHP\u958b\u767a\u8005\u3067\u3059\u3002\r\n\u3042\u308b\u7a0b\u5ea6\u7d4c\u9a13\u3092\u7a4d\u3093\u3060\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306a\u3089\u3001\u76ee\u6b21\u3092\u3055\u3063\u3068\u307f\u305f\u3060\u3051\u3067\u3001\u5fc5\u8981\u306a\u30ad\u30fc\u30ef\u30fc\u30c9\u304c\u624b\u306b\u5165\u308b\u3053\u3068\u3092\u76ee\u6307\u3057\u3066\u66f8\u3044\u3066\u304d\u305f\u3064\u3082\u308a\u3067\u3059\u3002<\/blockquote>\r\n\r\n<\/span>\r\n\r\nFacebook \u30da\u30fc\u30b8\u3082\u3042\u308a\u307e\u3059\u306e\u3067\u3001\u3088\u308d\u3057\u3051\u308c\u3070\u300c\u3044\u3044\u306d\uff01\u300d\u3068\u304b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\r\n\u304a\u3063\u3055\u3093\u9054\u304c\u559c\u3073\u307e\u3059\u3002\r\nWordPress \u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u306e\u30d0\u30a4\u30d6\u30eb<\/a>\r\n\r\n\r\n\u50d5\u304c\u30e1\u30a4\u30f3\u3067\u66f8\u3044\u305f\u306e\u306f\u300c\u7b2c15\u7ae0 \u30d7\u30e9\u30b0\u30a4\u30f3 \u30af\u30c3\u30af\u30d6\u30c3\u30af\u300d\u306b\u306a\u308a\u307e\u3059...\u3067\u3001\u7533\u3057\u8a33\u306a\u3044\u3002\u3044\u304d\u306a\u308a\u9593\u9055\u3044\u3092\u767a\u898b\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002\r\nP367 \u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u3059\u304c\u3001\u6b63\u3057\u304f\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002\r\nhttps:\/\/gist.github.com\/wokamoto\/a0020005e052a4c6b610\r\n\r\n\u305d\u308c\u3067\u306f\u3001\u826f\u3044\u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u30e9\u30a4\u30d5\u3092\uff01","excerpt":"\u79c1\u304c\u57f7\u7b46\u3057\u305f WordPress \u95a2\u4fc2\u306e\u672c\u3068\u3057\u3066\u306f\u4e8c\u518a\u76ee\u3068\u306a\u308b\u300cWordPress\u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u306e\u30d0\u30a4\u30d6\u30eb\u300d\u304c 7\/22 \u306b\u767a\u58f2\u3055\u308c\u307e\u3057\u305f\u3002 \u3053\u308c\u306f \u5bae\u3055\u3093\u3001\u897f\u5ddd\u3055\u3093\u3001\u4e09\u597d\u3055\u3093\u9054\u3068\u306e\u5171\u8457\u306b\u306a\u308a\u307e\u3059\u3002 \u4ee5\u4e0b\u306b\u5e8f\u6587\u3092\u5f15\u7528\u3057\u307e […]","date":"2014-07-23 15:55:59","author":"\u3092\u304b\u3082\u3068","thumbnail":"","categories":["\u304a\u77e5\u3089\u305b"],"tags":["WordPress","WordPress Plugin","\u30d7\u30e9\u30b0\u30a4\u30f3\u958b\u767a\u306e\u30d0\u30a4\u30d6\u30eb"]},{"id":3070,"title":"WordPress \u3067\u30c7\u30fc\u30bf\u9023\u4fc2\u3059\u308b\u3068\u304d\u306e\u30b9\u30cb\u30da\u30c3\u30c8","permalink":"https:\/\/dogmap.jp\/2014\/05\/20\/post-3070\/","content":"\u5b9f\u306f\u3001\u4eca\u590f\u306bSB\u30af\u30ea\u30a8\u30a4\u30c6\u30a3\u30d6<\/a>\u3055\u3093\u304b\u3089\u767a\u58f2\u3055\u308c\u308b\u4e88\u5b9a\u306e\u300cWordPress Plugin \u672c(\u30bf\u30a4\u30c8\u30eb\u4eee)\u300d\u3092\u5bae\u3055\u3093<\/a>\u3001\u897f\u5ddd\u3055\u3093<\/a>\u3001\u4e09\u597d\u3055\u3093<\/a>\u9054\u3068\u66f8\u3044\u3066\u307e\u3057\u305f\u3002\r\n\u5bae\u3055\u3093\u306f\u3059\u3067\u306b\u30ea\u30fc\u30af\u6e08\u307f\u3067\u3059\u306d\u3002\r\n\u7ba1\u7406\u753b\u9762\u306b\u304a\u3051\u308b\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u8868\u793a | firegoby<\/a>\r\n\r\n\u50d5\u304c\u62c5\u5f53\u3057\u305f\u306e\u306f\u300117\u7ae0\u76ee\u306e\u300c\u30d7\u30e9\u30b0\u30a4\u30f3\u30af\u30c3\u30af\u30d6\u30c3\u30af\u300d\u304c\u30e1\u30a4\u30f3\u306b\u306a\u308a\u307e\u3059\u3002\r\n\u3053\u3053\u3067\u306f WordPress \u30d7\u30e9\u30b0\u30a4\u30f3\u4f5c\u6210\u6642\u306b\u4f7f\u3063\u3066\u308b\u30b3\u30fc\u30c9\u3092\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3068\u3057\u3066\u63d0\u793a\u3057\u3066\u3001\u305d\u308c\u3092\u8aac\u660e\u3059\u308b\u3063\u3066\u611f\u3058\u3067\u66f8\u3044\u3066\u307e\u3059\u3002\r\n\u7de8\u96c6\u306e\u4eba\u306b\u3082\u300c\u4e00\u90e8\u516c\u958b\u3057\u3066\u3082\u826f\u3044\u3088\u30fc\u300d\u3063\u3066\u8a00\u308f\u308c\u305f\u306e\u3067\u3001\u4e00\u90e8\u3092\u516c\u958b\u3057\u307e\u3059\u306d\u3002\r\n\r\n<\/span>\r\n\u3053\u3093\u306a\u611f\u3058\u3067\u66f8\u3044\u3066\u307e\u3059\u3002\r\n\r\n\u4ed6\u30b5\u30a4\u30c8\u3068\u306e\u9023\u643a\u306b\u95a2\u3059\u308b\u30ec\u30b7\u30d4<\/h2>\r\n\r\n
RSS \u30d5\u30a3\u30fc\u30c9\u3092\u62e1\u5f35\u3057\u3066 JSON \u3092\u8fd4\u305b\u308b\u3088\u3046\u306b\u3059\u308b<\/h3>\r\n\r\n[php] $intval($post->ID) ,\r\n \"title\" => get_the_title() ,\r\n \"permalink\" => get_permalink(),\r\n \"content\" => get_the_content(),\r\n \"excerpt\" => get_the_excerpt(),\r\n \"date\" => get_the_date(\"Y-m-d H:i:s\",\"\",\"\",false) ,\r\n \"author\" => get_the_author() ,\r\n );\r\n }\r\n nocache_headers();\r\n header(\"Content-Type: application\/json; charset=\" . get_bloginfo(\"charset\"));\r\n echo $json_encode($json);\r\n } else {\r\n status_header('404');\r\n wp_die(\"404 Not Found\");\r\n }\r\n}[\/php]\r\n\r\n\u4ed6\u30b5\u30a4\u30c8\u306b\u30c7\u30fc\u30bf\u3092\u63d0\u4f9b\u3057\u305f\u3044\u3068\u304d\u306b JSON \u5f62\u5f0f\u3067\u6295\u7a3f\u30c7\u30fc\u30bf\u3092\u6e21\u305b\u308b\u3068\u4fbf\u5229\u3067\u3059\u3002\r\nWordPress \u3067\u306f\u30d5\u30a3\u30fc\u30c9\u3068\u3057\u3066 RSS\u5f62\u5f0f\u3084 ATOM\u5f62\u5f0f\u3067\u30c7\u30fc\u30bf\u3092\u6e21\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304c\u3001add_feed() \u3092\u5229\u7528\u3057\u3066\u3053\u306e\u6a5f\u80fd\u3092\u62e1\u5f35\u3059\u308b\u3053\u3068\u3067\u3001\u69d8\u3005\u306a\u5f62\u5f0f\u3067\u30d5\u30a3\u30fc\u30c9\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\r\n\r\nadd_feed() \u3067\u306f\u30d5\u30a3\u30fc\u30c9\u540d\u3068\u3001\u305d\u306e\u30d5\u30a3\u30fc\u30c9\u306b\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u6765\u305f\u3068\u304d\u306b\u547c\u3070\u308c\u308b\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\r\n\u3053\u308c\u306b\u3088\u308a http:\/\/example.com\/feed\/json\/ \u3068\u3044\u3063\u305f\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u5bfe\u3057\u3066 JSON \u5f62\u5f0f\u3067\u30c7\u30fc\u30bf\u3092\u8fd4\u3059\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\r\nadd_feed() \u3067\u306f JSON \u3060\u3051\u3067\u306a\u304f\u3001\u3069\u3093\u306a\u5f62\u5f0f\u306e\u30d5\u30a3\u30fc\u30c9\u3082\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\r\n\u305f\u3068\u3048\u3070 WordPress \u306e\u63d0\u4f9b\u3059\u308b RSS \u5f62\u5f0f\u3067\u306f\u7121\u304f\u3001\u72ec\u81ea\u306b\u62e1\u5f35\u3055\u308c\u305f\u5f62\u5f0f\u3067\u30d5\u30a3\u30fc\u30c9\u3092\u6e21\u3055\u306d\u3070\u884c\u3051\u306a\u3044\u5834\u5408\u306a\u3069\u306b\u3082\u4f7f\u3048\u308b\u3067\u3057\u3087\u3046\u3002\r\n\r\n\u4e00\u70b9\u6ce8\u610f\u3057\u305f\u3044\u306e\u306f add_feed() \u3067\u30d5\u30a3\u30fc\u30c9\u5f62\u5f0f\u3092\u8ffd\u52a0\u3057\u305f\u5834\u5408\u306f flush_rewrite_rules() \u3092\u5b9f\u884c\u3057\u3066\u30ea\u30e9\u30a4\u30c8\u30eb\u30fc\u30eb\u3092\u66f8\u304d\u63db\u3048\u306a\u3051\u308c\u3070\u3044\u3051\u306a\u3044\u70b9\u3067\u3059\u3002\r\n\u3053\u308c\u306f\u975e\u5e38\u306b\u8ca0\u8377\u306e\u304b\u304b\u308b\u51e6\u7406\u306a\u306e\u3067\u3001\u901a\u5e38\u306f\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u6709\u52b9\u5316\u3055\u308c\u305f\u3068\u304d\u306b\u4e00\u5ea6\u3060\u3051\u5b9f\u884c\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002\r\n\u305d\u306e\u51e6\u7406\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u306e\u3088\u3046\u306b\u306a\u308b\u3067\u3057\u3087\u3046\u3002\r\n\r\n[php]feeds as $feed ) {\r\n if ( $feed !== \"json\" ) {\r\n $feeds[] = $feed;\r\n }\r\n }\r\n $wp_rewrite->feeds = $feeds;\r\n flush_rewrite_rules();\r\n}[\/php]\r\n\r\n
\u4ed6\u30b5\u30a4\u30c8\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b<\/h3>\r\n\r\n[php]\r\n array(10) {\r\n [\"server\"]=>\r\n string(5) \"nginx\"\r\n [\"date\"]=>\r\n string(29) \"Sat, 26 Apr 2014 09:07:07 GMT\"\r\n [\"content-type\"]=>\r\n string(10) \"text\/plain\"\r\n [\"content-length\"]=>\r\n string(1) \"2\"\r\n [\"connection\"]=>\r\n string(5) \"close\"\r\n [\"cache-control\"]=>\r\n string(12) \"max-age=1800\"\r\n [\"expires\"]=>\r\n string(29) \"Sat, 26 Apr 2014 09:37:07 GMT\"\r\n [\"x-varnish\"]=>\r\n string(10) \"1132724514\"\r\n [\"age\"]=>\r\n string(1) \"0\"\r\n [\"via\"]=>\r\n string(11) \"1.1 varnish\"\r\n }\r\n [\"body\"]=>\r\n string(2) \"82\"\r\n [\"response\"]=>\r\n array(2) {\r\n [\"code\"]=>\r\n int(200)\r\n [\"message\"]=>\r\n string(2) \"OK\"\r\n }\r\n [\"cookies\"]=>\r\n array(0) {\r\n }\r\n}[\/text]\r\n\r\nheaders \u306b\u306f\u76f8\u624b\u5148\u306e\u30b5\u30fc\u30d0\u304b\u3089\u9001\u4fe1\u3055\u308c\u305f http \u30d8\u30c3\u30c0\u3001body \u306b\u306f\u30ec\u30b9\u30dd\u30f3\u30b9\u30dc\u30c7\u30a3\u30fc\u3001response \u306b\u306f HTTP \u30ec\u30b9\u30dd\u30f3\u30b9\u30b3\u30fc\u30c9 (200 OK \u3084\u3001404 Not Found \u306a\u3069)\u3001cookies \u306b\u306f cookie \u304c\u683c\u7d0d\u3055\u308c\u3066\u3044\u307e\u3059\u3002\r\nwp_remote_get() \u3067\u306f\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306f WP_Error \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3057\u307e\u3059\u3001\u5fc5\u305a is_wp_error() \u3067\u78ba\u8a8d\u3057\u3066\u304b\u3089\u4f7f\u3044\u307e\u3057\u3087\u3046\u3002\r\n\r\n\r\n
BASIC \u8a8d\u8a3c\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u30b5\u30a4\u30c8\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b<\/h3>\r\n\r\n[php] array(\r\n \"Authorization\" => \"Basic \".base64_encode(\"$user:$password\"),\r\n )\r\n);\r\n$response = wp_remote_get(\"http:\/\/example.com\/\", $args);[\/php]\r\n\r\nwp_remote_get() \u3067\u306f\u3001\u7b2c\u4e8c\u5f15\u6570\u3092\u4e0e\u3048\u308b\u3053\u3068\u3067\u4efb\u610f\u306e http \u30d8\u30c3\u30c0\u3092\u9001\u4fe1\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\r\n\u4f8b\u3048\u3070 BASIC \u8a8d\u8a3c\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u30b5\u30a4\u30c8\u306b\u30e6\u30fc\u30b6\u30fc\u540d\u30fb\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u9001\u4fe1\u3057\u305f\u3044\u5834\u5408\u306f Authorization: Basic \u30d8\u30c3\u30c0\u3092\u6e21\u305b\u3070\u826f\u3044\u3067\u3059\u3002\r\n\u3053\u306e\u3068\u304d\u30e6\u30fc\u30b6\u30fc\u540d\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u306f : (\u30b3\u30ed\u30f3)\u3067\u533a\u5207\u3063\u3066 base64 \u30a8\u30f3\u30b3\u30fc\u30c9\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002\r\n\r\n\r\n
\u4ed6\u30b5\u30a4\u30c8\u306e RSS \u30d5\u30a3\u30fc\u30c9\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b<\/h3>\r\n\r\n[php]get_item_quantity(5);\r\n $items = array();\r\n for ($x = 0; $x < $max; $x++){\r\n $item = $feed->get_item($x);\r\n $items[] = array(\r\n \"title\" => $item->get_title(),\r\n \"permalink\" => $item->get_permalink(),\r\n \"datetime\" => $item->get_date(\"Y-m-d H:i:s e\"),\r\n \"excerpt\" => $item->get_description(),\r\n );\r\n }\r\n} else {\r\n \/\/ Handle error here.\r\n}[\/php]\r\n\r\n\u4ed6\u30b5\u30a4\u30c8\u306e\u30d5\u30a3\u30fc\u30c9\u3092\u53d6\u5f97\u3057\u3066\u304d\u3066\u51e6\u7406\u3057\u305f\u3044\u5834\u5408\u306f fetch_feed() \u3092\u5229\u7528\u3059\u308b\u3068\u4fbf\u5229\u3067\u3059\u3002\r\nfetch_feed() \u3067\u306f\u3001\u6b63\u5e38\u306b\u30d5\u30a3\u30fc\u30c9\u304c\u53d6\u5f97\u3067\u304d\u305f\u5834\u5408 SimplePie<\/a> \u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3057\u307e\u3059\u3002\r\n\u30d5\u30a3\u30fc\u30c9\u53d6\u5f97\u306b\u5931\u6557\u3057\u305f\u5834\u5408\u306f WP_Error \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3059\u306e\u3067\u3001\u5fc5\u305a is_wp_error() \u3067 WP_Error \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u8fd4\u3063\u3066\u304d\u3066\u3044\u306a\u3044\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\r\n\r\n\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u306f\u3001\u53d6\u5f97\u3067\u304d\u305f\u30c7\u30fc\u30bf\u304b\u3089\u6700\u65b05\u4ef6\u306e\u30c7\u30fc\u30bf\u3092 $items \u3068\u3044\u3046\u914d\u5217\u306b\u683c\u7d0d\u3057\u3066\u3044\u307e\u3059\u3002\r\n\u307e\u305a get_item_quantity() \u30e1\u30bd\u30c3\u30c9\u3067\u4ef6\u6570\u3092\u53d6\u5f97\u3057\u3001\u305d\u306e\u5f8c for \u30eb\u30fc\u30d7\u3092\u56de\u3057\u306a\u304c\u3089 get_item() \u30e1\u30bd\u30c3\u30c9\u3067\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3066\u3044\u307e\u3059\u3002\r\n\r\n\r\n
\u4ed6\u30b5\u30a4\u30c8\u306b XML-RPC \u3067\u63a5\u7d9a\u3059\u308b<\/h3>\r\n\r\n[php]query(\"wp.getPost\", $blog_id, $user, $password, $post_id);\r\n$response = $ixr_client->getResponse();\r\nvar_dump($response);\r\nvar_dump($ixr_client->isError());[\/php]\r\n\r\n\u4ed6\u30b5\u30a4\u30c8\u3068\u306e\u30c7\u30fc\u30bf\u9023\u4fc2\u306b XML-RPC \u3092\u4f7f\u7528\u3057\u305f\u3044\u5834\u5408\u306f WP_HTTP_IXR_Client \u30af\u30e9\u30b9\u3092\u7528\u3044\u308b\u306e\u304c\u7c21\u5358\u3067\u3059\u3002\r\n\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u306f http:\/\/example.com \u3068\u3044\u3046 WordPress \u30b5\u30a4\u30c8\u306e XML-RPC API \u3092\u30ad\u30c3\u30af\u3057\u3066\u3044\u307e\u3059\u3002\r\n\r\n\u4ed6\u306e WordPress \u30b5\u30a4\u30c8\u3068\u63a5\u7d9a\u3057\u3066 XML-RPC API \u3092\u4f7f\u7528\u3057\u305f\u3044\u5834\u5408\u306f codex \u306eXML-RPC WordPress API<\/a> \u3092\u53c2\u8003\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\r\n\u307e\u305f\u3001Backlog<\/a> \u306a\u3069\u306e XML-RPC API \u3092\u7528\u610f\u3057\u3066\u3044\u308b Web \u30b5\u30fc\u30d3\u30b9\u3068\u306e\u9023\u643a\u306b\u3082\u4f7f\u3048\u308b\u3067\u3057\u3087\u3046\u3002","excerpt":"\u5b9f\u306f\u3001\u4eca\u590f\u306bSB\u30af\u30ea\u30a8\u30a4\u30c6\u30a3\u30d6\u3055\u3093\u304b\u3089\u767a\u58f2\u3055\u308c\u308b\u4e88\u5b9a\u306e\u300cWordPress Plugin \u672c(\u30bf\u30a4\u30c8\u30eb\u4eee)\u300d\u3092\u5bae\u3055\u3093\u3001\u897f\u5ddd\u3055\u3093\u3001\u4e09\u597d\u3055\u3093\u9054\u3068\u66f8\u3044\u3066\u307e\u3057\u305f\u3002 \u5bae\u3055\u3093\u306f\u3059\u3067\u306b\u30ea\u30fc\u30af\u6e08\u307f\u3067\u3059\u306d\u3002 \u7ba1\u7406\u753b\u9762\u306b\u304a\u3051\u308b\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc […]","date":"2014-05-20 12:42:14","author":"\u3092\u304b\u3082\u3068","categories":["WordPress"],"tags":["WordPress","WordPress Plugin"]},{"id":3011,"title":"2013\u5e74\u306e\u4eba\u6c17\u8a18\u4e8b\u30c8\u30c3\u30d710","permalink":"https:\/\/dogmap.jp\/2013\/12\/29\/popular-entries-2013\/","content":"\u6628\u5e74<\/a>\u3001\u4e00\u6628\u5e74<\/a> \u306b\u5f15\u304d\u7d9a\u304d\u3001\u4eca\u5e74\u3082 dogmap.jp \u3067\u3053\u306e1\u5e74\u3067\u826f\u304f\u8aad\u3093\u3067\u3082\u3089\u3063\u305f\u8a18\u4e8b\u3092\u3042\u3052\u3066\u307f\u307e\u3059\u3002
\r\n\u53bb\u5e74\u540c\u69d8\u3001\u30da\u30fc\u30b8\u30d3\u30e5\u30fc\u4e0a\u4f4d10\u8a18\u4e8b\u3060\u30681\u756a\u30a2\u30af\u30bb\u30b9\u304c\u3042\u3063\u305f\u306e\u306f\u3001\u53bb\u5e74\u3069\u3053\u308d\u304b2009\u5e74\u306e\u3053\u306e\u8a18\u4e8b<\/a>\u306b\u306a\u3063\u3061\u3083\u3046\u3093\u3067\u3059\u304c\u30012013\u5e74\u306b\u66f8\u3044\u305f\u8a18\u4e8b\u3068\u3001\u53bb\u5e74\u306e\u30e9\u30f3\u30ad\u30f3\u30b0\u306b\u5165\u3063\u3066\u3044\u306a\u3044 2012\u5e74\u306b\u66f8\u3044\u305f\u8a18\u4e8b\u306b\u3057\u307c\u3063\u306610\u4ef6\u307b\u3069\u3002\r\n<\/span>\r\n\r\n\r\n
WordPress \u30b5\u30a4\u30c8\u3092\u9759\u7684 HTML \u306b\u5909\u63db\u3059\u308b\u30d7\u30e9\u30b0\u30a4\u30f3 StaticPress<\/h4>\r\nWordPress \u306e\u6c38\u4ee3\u4f9b\u990a\u3084\u3001\u8ca0\u8377\u8efd\u6e1b\u3001\u8106\u5f31\u6027\u5bfe\u7b56\u306b\u3082\u4f7f\u3048\u308b\u30d7\u30e9\u30b0\u30a4\u30f3 StaticPress<\/a> \u306e\u7d39\u4ecb\u8a18\u4e8b\u304c\u4e00\u756a\u30a2\u30af\u30bb\u30b9\u3042\u308a\u307e\u3057\u305f\u3002\r\n\u3053\u308c\u306b\u3064\u3044\u3066\u306f\u3001masuidrive<\/a> \u3055\u3093\u306e\u30d6\u30ed\u30b0\u3067\u4f7f\u3063\u3066\u3082\u3089\u3048\u305f\u306e\u304c\u3001\u3059\u3054\u3044\u5b09\u3057\u304b\u3063\u305f\u3067\u3059\u3002\r\nWordVolcano\u756a\u5916\u7de8 - From the Dark Side<\/a> \u306a\u3093\u304b\u3067\u3082\u7d39\u4ecb\u3055\u305b\u3066\u3082\u3089\u3063\u305f\u308a\u3057\u3066\u3001\u50d5\u306e\u4e2d\u3067\u306f\u53bb\u5e74\u4e00\u756a\u8a71\u984c\u306b\u306a\u3063\u305f\u304b\u3082\u3002<\/li>\r\n
mintty \u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b<\/a><\/h4>\r\nCygwin\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u30a8\u30df\u30e5\u30ec\u30fc\u30bf mintty \u3092 Windows \u3067\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306e\u8a2d\u5b9a\u65b9\u6cd5\u3067\u3059\u306d\u3002\r\n\u3082\u3046\u3001\u307b\u3068\u3093\u3069 Windows \u89e6\u308b\u3053\u3068\u304c\u306a\u304f\u306a\u3063\u305f\u306e\u3067\u3001\u50d5\u306f mintty \u3092\u4f7f\u3046\u3053\u3068\u3082\u7121\u304f\u306a\u3063\u305f\u3093\u3067\u3059\u304c...<\/li>\r\n
\u3055\u304f\u3089VPS512\u3067\u3001Yahoo!\u7832\u98df\u3089\u3063\u3066\u3082 WordPress \u3092\u5e73\u5e38\u904b\u8ee2\u3055\u305b\u308b\u305f\u3081\u306e\u8a2d\u5b9a<\/a><\/h4>\r\n\u30b5\u30fc\u30d0\u7ba1\u7406\u3092\u3057\u3066\u3044\u308b \u30ab\u30a4\u58eb\u4f1d<\/a> \u306b Yahoo!\u7832\u304c\u6765\u305f\u3068\u304d\u306e\u304a\u8a71\u3002\r\n\u7279\u306b\u7126\u308b\u3053\u3068\u3082\u7121\u304f ( \u3063\u3066\u304b\u3001\u6c17\u3065\u3044\u305f\u306e\u306f\u30ab\u30a4\u3055\u3093\u304c Analitycs \u3092\u898b\u305f\u7fcc\u65e5\u3060\u3063\u305f\u3068\u3044\u3046 )\u3001Nginx \u512a\u79c0\u306d\u30fc\u3002\r\n\u3055\u304f\u3089 VPS \u306f\u3001\u30b3\u30b9\u30d1\u9ad8\u3044\u306a\u30fc\u3068\u3044\u3046\u304a\u8a71\u3002<\/li>\r\n
WordPress \u306e\u5f15\u3063\u8d8a\u3057\u65b9\u6cd5\u8272\u3005<\/a><\/h4>\r\nWordPress \u30b5\u30a4\u30c8\u3092\u307e\u308b\u3054\u3068\u4ed6\u306e\u30b5\u30fc\u30d0\u306b\u79fb\u52d5\u3059\u308b\u305f\u3081\u306e\u65b9\u6cd5\u3001\u30a2\u30ec\u30b3\u30ec\u3002\r\n\u5b9f\u969b\u306b\u4ed5\u4e8b\u3067\u3082\u3088\u304f\u4f7f\u3063\u3066\u307e\u3059\u3002\u5f15\u3063\u8d8a\u3057\u5143\u30b5\u30fc\u30d0\u306b FTP \u3060\u3051\u3057\u304b\u63a5\u7d9a\u624b\u6bb5\u304c\u7121\u3044\u3068\u304d\u304c\u4e00\u756a\u3081\u3093\u3069\u304f\u3055\u3044\u3002<\/li>\r\n
WordPress \u30b5\u30a4\u30c8\u306b Basic \u8a8d\u8a3c\u3092\u304b\u3051\u308b\u30d7\u30e9\u30b0\u30a4\u30f3\u300cWP Basic Auth\u300d<\/a><\/h4>\r\n\u3053\u308c\u3082\u3001\u5b9f\u969b\u306b\u4ed5\u4e8b\u3067\u3088\u304f\u4f7f\u3046\u30d7\u30e9\u30b0\u30a4\u30f3 WP BASIC Auth<\/a> \u306e\u7d39\u4ecb\u3002\r\n\u6709\u52b9\u306b\u3059\u308b\u3060\u3051\u3067 WordPress \u306e\u30e6\u30fc\u30b6\u30a2\u30ab\u30a6\u30f3\u30c8\/\u30d1\u30b9\u30ef\u30fc\u30c9\u3067 BASIC \u8a8d\u8a3c\u304b\u3051\u3089\u308c\u308b\u306e\u3067\u4fbf\u5229\u3067\u3059\u3002\r\n\u516c\u958b\u524d\u306e\u30b5\u30a4\u30c8\u3092\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u958b\u767a\u8005\u3060\u3051\u3067\u898b\u308c\u308b\u3088\u3046\u306b\u3057\u305f\u3044\u3068\u304d\u306b\u4f7f\u3048\u3070\u826f\u3044\u3068\u601d\u3046\u3088\u3002<\/li>\r\n
WordPress \u306e\u30ed\u30b0\u30a4\u30f3\u5c65\u6b74\u3092\u4fdd\u5b58\u3059\u308b\u30d7\u30e9\u30b0\u30a4\u30f3\u300c\u72c2\u9aa8\u300d<\/a><\/h4>\r\n\u4eca\u5e74\u524d\u534a\u306f WordPress \u3078\u306e Brute Force Attack<\/a> \u304c\u8a71\u984c\u306b\u306a\u3063\u3066\u307e\u3057\u305f\u306a\u3041\u3002\r\n\u72c2\u9aa8<\/a>\u306f\u3001\u305d\u308c\u3089\u306e\u75d5\u8de1\u3092\u304a\u624b\u8efd\u306b WordPress \u3067\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u3059\u3002\r\n\u30d7\u30e9\u30b0\u30a4\u30f3\u65e5\u672c\u306e\u5996\u602a\u30b7\u30ea\u30fc\u30ba\u306f\u4ed6\u306b\u3082 \u7d61\u65b0\u5a66<\/a>\u3001\u9b4d\u9b4e<\/a>\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\r\n
MariaDB Galera Cluster \u306b\u3088\u308b DB \u30b5\u30fc\u30d0\u306e\u5197\u9577\u5316<\/a><\/h4>\r\nMariaDB Galera Cluster \u3067 DB \u3092\u30af\u30e9\u30b9\u30bf\u306b\u3057\u3061\u3083\u304a\u3046\u305c\u3063\u3066\u3044\u3046\u304a\u8a71\u3002<\/li>\r\n
WordPress \u30b5\u30a4\u30c8\u306e\u6c38\u4ee3\u4f9b\u990a<\/a><\/h4>\r\nStaticPress \u306e\u5143\u306b\u306a\u3063\u305f\u304a\u8a71\u3002\u904e\u53bb\u306e\u30a4\u30d9\u30f3\u30c8\u30b5\u30a4\u30c8\u3092 AWS \u306e S3 \u306b\u6c38\u5927\u4f9b\u990a\u3057\u3088\u3046\u305c\u30fc\u3063\u3066\u304a\u8a71\u3002<\/li>\r\n
EC2 \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u8d77\u52d5\u6642\u306b\u81ea\u52d5\u3067 EIP \u3092\u30bb\u30c3\u30c8\u3059\u308b (AWS Advent Calendar 2012 20\u65e5\u76ee)<\/a><\/h4>\r\n\u53bb\u5e74\u306e AWS Advent Calendar \u7528\u306b\u66f8\u3044\u305f\u30e2\u30ce\u3067\u3059\u3002\r\n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u518d\u8d77\u52d5\u3059\u308b\u3068 EIP \u304c\u5916\u308c\u3066\u3001\u4ed8\u3051\u76f4\u3059\u306e\u3092\u5fd8\u308c\u308b\u3068\u3081\u3093\u3069\u304f\u3055\u3044\u304b\u3089\u3001\u81ea\u52d5\u3067\u3064\u3051\u3066\u3084\u308d\u3046\u305c\u30fc\u3063\u3066\u304a\u8a71\u3067\u3059\u306d\u3002<\/li>\r\n
\u300cFatal error: Call-time pass-by-reference has been removed\u300d\u306e\u5bfe\u51e6<\/a><\/h4>\r\n\u53e4\u3044\u30d7\u30e9\u30b0\u30a4\u30f3\u3092 PHP 5.4 \u3067\u4f7f\u3046\u3068\u306a\u3093\u304b\u30a8\u30e9\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u304b\u3082\u3088\u30fc\u3063\u3066\u304a\u8a71\u3067\u3059\u3002\r\nWordPress \u306f PHP 5.2.4 \u4ee5\u4e0a\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u308b<\/a>\u3051\u3069\u3001\u3082\u3046 5.2.x \u3068\u304b\u306f\u6368\u3066\u3066\u3001\u306f\u3088 5.4 \u4ee5\u4e0a\u306b\u3057\u3088\u3046\u305c\u3002\u3081\u3093\u3069\u304f\u3055\u3044\u304b\u3089\u3002<\/li>\r\n<\/ol>","excerpt":"\u6628\u5e74\u3001\u4e00\u6628\u5e74 \u306b\u5f15\u304d\u7d9a\u304d\u3001\u4eca\u5e74\u3082 dogmap.jp \u3067\u3053\u306e1\u5e74\u3067\u826f\u304f\u8aad\u3093\u3067\u3082\u3089\u3063\u305f\u8a18\u4e8b\u3092\u3042\u3052\u3066\u307f\u307e\u3059\u3002 \u53bb\u5e74\u540c\u69d8\u3001\u30da\u30fc\u30b8\u30d3\u30e5\u30fc\u4e0a\u4f4d10\u8a18\u4e8b\u3060\u30681\u756a\u30a2\u30af\u30bb\u30b9\u304c\u3042\u3063\u305f\u306e\u306f\u3001\u53bb\u5e74\u3069\u3053\u308d\u304b2009\u5e74\u306e\u3053\u306e\u8a18\u4e8b\u306b\u306a\u3063\u3061\u3083\u3046\u3093\u3067\u3059 […]","date":"2013-12-29 11:53:29","author":"\u3092\u304b\u3082\u3068","categories":["WordPress","\u304a\u77e5\u3089\u305b"],"tags":["WordPress"]}]