{"id":1419,"date":"2009-06-23T17:46:35","date_gmt":"2009-06-23T08:46:35","guid":{"rendered":"http:\/\/terzeron.com\/?p=1419"},"modified":"2009-06-23T17:46:35","modified_gmt":"2009-06-23T08:46:35","slug":"twitter-for-wordpress-%ed%94%8c%eb%9f%ac%ea%b7%b8%ec%9d%b8%ec%9d%98-%ed%95%9c%ea%b8%80-%eb%b2%84%ea%b7%b8-%ec%88%98%ec%a0%95","status":"publish","type":"post","link":"https:\/\/terzeron.com\/?p=1419","title":{"rendered":"Twitter for WordPress \ud50c\ub7ec\uadf8\uc778\uc758 \ud55c\uae00 \ubc84\uadf8 \uc218\uc815"},"content":{"rendered":"<p>\ud2b8\uc704\ud130(Twitter)\ub97c WordPress\uc640 \uc5f0\ub3d9\ud574\uc11c \uc0ac\uc6a9\ud574\ubcf4\ub824\uace0 <a href=\"http:\/\/rick.jinlabs.com\/code\/twitter\/\">Twitter for WordPress<\/a> \ud50c\ub7ec\uadf8\uc778\uc744 \uc124\uce58\ud588\ub294\ub370, \ud55c\uae00\uc774 \uae68\uc9c4\ub2e4. \ucc98\uc74c\uc5d0\ub294 UTF-8 \uc778\ucf54\ub529\uc744 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc544\uc11c \ubc1c\uc0dd\ud55c \ubb38\uc81c\uc778\uac00 \uc2f6\uc5c8\ub294\ub370, \uc6d0\uc778\uc740 \ubc14\ub85c WordPress\uc758 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \uc788\uc5c8\ub2e4.<\/p>\n<p>\ud2b8\uc704\ud130\uc5d0\uc11c \ubc1c\ud589\ud558\ub294 RSS \ud30c\uc77c\uc744 \uac00\uc838\uc62c \ub54c \uc0ac\uc6a9\ud558\ub294 \ud568\uc218\uac00 fetch_rss()\uc778\ub370, &amp;#34534;\uc640 \uac19\uc740 XML entity\ub97c \uc5c9\ub6b1\ud55c \ub85c\ucf00\uc77c(locale)\ub85c \ud574\uc11d\ud558\uc5ec ???\uc640 \uac19\uc740 \ubb38\uc790\uc5f4\ub85c \ubc18\ud658\ud558\ub294 \uac83\uc774 \ubb38\uc81c\uc758 \uc6d0\uc778\uc774\ub2e4.<\/p>\n<p>\uc774 \ud50c\ub7ec\uadf8\uc778\uc758 PHP \uc2a4\ud06c\ub9bd\ud2b8 \ud30c\uc77c\uc778 twitter.php\ub97c \uc5f4\uc5b4\ubcf4\uba74 twitter_messages()\ub77c\ub294 \ud568\uc218\uac00 \uc788\ub294\ub370, \uc774\uac8c \ubc14\ub85c \ud654\uba74 \uc67c\ucabd\uc5d0 \ubcf4\uc774\ub294 \ud2b8\uc704\ud130 \uc704\uc9d3(widget)\uc758 \ud638\ucd9c \ud568\uc218\uc774\ub2e4.<\/p>\n<p>\uc774 \ud568\uc218 \uccab \ubd80\ubd84\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre class=\"brush: php\">function twitter_messages($username = '', $num = 1, $list = false,\n$update = true, $linked = '#', $hyperlinks = true,\n$twitter_users = true, $encode_utf8 = false) {\n\nglobal $twitter_options;\ninclude_once(ABSPATH . WPINC . '\/rss.php');\n\n$messages = fetch_rss('http:\/\/twitter.com\/statuses\/user_timeline\/'.$username.'.rss');\n\nif ($list) echo '<ul class=\"twitter\">';<\/pre>\n<p>fetch_rss() \ud568\uc218\uac00 \ud638\ucd9c\ub418\uace0 \uc788\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub294\ub370, \uc774\uac83\uc744 twitter_fetch_rss()\ub85c \ub300\uccb4\ud55c\ub2e4. twitter_fetch_rss() \ud568\uc218\ub97c twitter_message() \ud568\uc218 \ubc14\ub85c \uc704\uc5d0 \uc791\uc131\ud574 \ubcf4\uc790.<\/p>\n<pre class=\"brush: php\">function twitter_fetch_rss($server, $url)\n{\n$data = new Message;\n$is_in_item = false;\n$message = array();\n$fp = fsockopen($server, 80, $errno, $errstr, 10);\n$request_string = \"GET $url HTTP\/1.0\\n\";\n$request_string .= \"\\n\";\nif (fputs($fp, $request_string)) {\nwhile (!feof($fp)) {\n$line = fgets($fp);\nif (preg_match(\"\/^HTTP\\\/1\\.\\d \\d+ OK\/\", $line)) {\ncontinue;\n} else if (preg_match(\"\/^[A-Za-z\\-]+: \/\", $line)) {\ncontinue;\n} else if (preg_match(\"\/^HTTP\\\/1\\.\\d\/\", $line)) {\nprint $line . \"\\n\";\n}\n\nif (preg_match(\"\/^\\s*<([^>]+)>\\s*$\/\", $line, $matches)) {\n$key = $matches[1];\n$value = $matches[2];\nif ($key == \"item\") {\n$is_in_item = true;\nreset($message);\n} else if ($key == \"\/item\") {\n$is_in_item = false;\narray_push($data->items, $message);\n}\n} else if (preg_match(\"\/<([^>]+)>([^<]+)<[^>]+>\/\", $line, $matches)) {\n$key = $matches[1];\n$value = $matches[2];\nif ($is_in_item == true) {\n$message[strtolower($key)] = $value;\n}\n}\n}\n}\nreturn $data;\n}<\/pre>\n<p>\uc774 \ud568\uc218\ub294 XML \ud30c\uc2f1(parsing)\uc744 \uc218\ud589\ud558\ub3c4\ub85d \uac04\ub2e8\ud558\uac8c \uc791\uc131\ub41c \uac83\uc774\ub2e4. \ub300\ucda9 \ub9cc\ub4e4\uc5c8\uc9c0\ub9cc, \ud2b8\uc704\ud130\uc5d0\uc11c \ubc1c\uc0dd\ud558\uace0 \uc788\ub294 RSS\ub294 \uc774 \uc815\ub3c4\ub85c \uac04\ub2e8\ud55c \ud30c\uc2f1\uc73c\ub85c\ub3c4 \ubb38\uc81c \uc5c6\uc774 \ub370\uc774\ud130\ub97c \uc218\uc9d1\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\ud638\ucd9c \ubd80\ubd84\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ubcc0\uacbd\ud55c\ub2e4.<\/p>\n<pre class=\"brush: php\">$messages = twitter_fetch_rss(\"twitter.com\", \"http:\/\/twitter.com\/statuses\/user_timeline\/\" . $username . \".rss\");<\/pre>\n<p>\uc0ac\uc774\ub4dc\ubc14\uc5d0 \ud2b8\uc704\ud130 \uc704\uc9d3\uc744 \uc124\uce58\ud558\ub824\uba74 \ub2e4\uc74c \ucf54\ub4dc\ub97c \ucd94\uac00\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/p>\n<pre class=\"brush: php\"><li>\n<h2>Twitter<\/h2>\n<p>< ? twitter_messages('\uc790\uae30\ud2b8\uc704\ud130\uc544\uc774\ub514', 5, true, true, '#', true, true, false); ? ><\/p>\n<\/li><\/pre>\n<p>\ubb3c\ub860 li\ub098 h2, p\uc640 \uac19\uc740 \ud0dc\uadf8\ub294 sidebar.php\uc758 \ubb38\ub9e5\uc5d0 \ub530\ub77c \uc801\ub2f9\ud55c \ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud558\uba74 \ub418\uace0, twitter_messages()\ud568\uc218\ub97c \uc801\uc808\ud788 \uc120\ud0dd\ud558\uba74 \ub41c\ub2e4. \uc790\uc138\ud55c \uc124\uba85\uc740 <a href=\"http:\/\/rick.jinlabs.com\/code\/twitter\/\">\ud50c\ub7ec\uadf8\uc778 \ud648\ud398\uc774\uc9c0<\/a>\ub97c \ucc38\uace0\ud55c\ub2e4. \ubcf5\uc7a1\ud558\ub2e4\uba74, \ub2e4\uc74c\uacfc \uac19\uc774 \ud638\ucd9c\ud574\ub3c4 \ub41c\ub2e4.<\/p>\n<pre class=\"brush: php\">\n< ? twitter_messages('\uc790\uae30\ud2b8\uc704\ud130\uc544\uc774\ub514'); ? ><\/pre>\n<p>\ud2b8\uc704\ud130\ub294 \ud55c \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uc11c \uc2dc\uac04 \ub2f9 100\ubc88 \uc774\uc0c1\uc758 RSS \uc694\uccad\uc744 \ud5c8\uc6a9\ud558\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uc77c\uc2dc\uc801\uc73c\ub85c &#8220;HTTP\/1.1 400 Bad Request&#8221; \uc5d0\ub7ec \uba54\uc2dc\uc9c0\uac00 \ud45c\uc2dc\ub420 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n<p>\ub2e4\uc74c \uc555\ucd95 \ud30c\uc77c\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc5ec \uc6cc\ub4dc\ud504\ub808\uc2a4 \ub514\ub809\ud1a0\ub9ac\uc5d0 \uc124\uce58\ud558\uba74 \ub41c\ub2e4.<br \/>\n<a href='http:\/\/terzeron.com\/wp-content\/uploads\/2009\/06\/twitter-for-wordpress-mod-ko.zip'>twitter-for-wordpress-mod-ko<\/a><\/p>\n<p>\uad00\ub828 \uae00: <a href=\"http:\/\/fantasyamplifier.com\/wp-plugin-twitter-for-wordpress\">FantasyAmplifier\ub2d8\uc758 &#8220;\ud2b8\uc704\ud130 \uba54\uc2dc\uc9c0\ub9cc \uac04\ub2e8\ud788 \ubcf4\uc5ec\uc8fc\ub294, Twitter for WordPress&#8221;<\/a><\/p>\n<div class=\"fb-background-color\">\n\t\t\t  <div \n\t\t\t  \tclass = \"fb-comments\" \n\t\t\t  \tdata-href = \"https:\/\/terzeron.com\/?p=1419\"\n\t\t\t  \tdata-numposts = \"100\"\n\t\t\t  \tdata-lazy = \"true\"\n\t\t\t\tdata-colorscheme = \"light\"\n\t\t\t\tdata-order-by = \"time\"\n\t\t\t\tdata-mobile=true>\n\t\t\t  <\/div><\/div>\n\t\t  <style>\n\t\t    .fb-background-color {\n\t\t\t\tbackground: #ffffff !important;\n\t\t\t}\n\t\t\t.fb_iframe_widget_fluid_desktop iframe {\n\t\t\t    width: 100% !important;\n\t\t\t}\n\t\t  <\/style>\n\t\t  ","protected":false},"excerpt":{"rendered":"<p>\ud2b8\uc704\ud130(Twitter)\ub97c WordPress\uc640 \uc5f0\ub3d9\ud574\uc11c \uc0ac\uc6a9\ud574\ubcf4\ub824\uace0 Twitter for WordPress \ud50c\ub7ec\uadf8\uc778\uc744 \uc124\uce58\ud588\ub294\ub370, \ud55c\uae00\uc774 \uae68\uc9c4\ub2e4. \ucc98\uc74c\uc5d0\ub294 UTF-8 \uc778\ucf54\ub529\uc744 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc544\uc11c \ubc1c\uc0dd\ud55c \ubb38\uc81c\uc778\uac00 \uc2f6\uc5c8\ub294\ub370, \uc6d0\uc778\uc740 \ubc14\ub85c WordPress\uc758 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \uc788\uc5c8\ub2e4. \ud2b8\uc704\ud130\uc5d0\uc11c \ubc1c\ud589\ud558\ub294 RSS \ud30c\uc77c\uc744 \uac00\uc838\uc62c \ub54c \uc0ac\uc6a9\ud558\ub294 \ud568\uc218\uac00 fetch_rss()\uc778\ub370, &amp;#34534;\uc640 \uac19\uc740 XML entity\ub97c \uc5c9\ub6b1\ud55c \ub85c\ucf00\uc77c(locale)\ub85c \ud574\uc11d\ud558\uc5ec &hellip; <a href=\"https:\/\/terzeron.com\/?p=1419\">\uacc4\uc18d \uc77d\uae30 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[13],"tags":[],"class_list":["post-1419","post","type-post","status-publish","format-standard","hentry","category-programming"],"_links":{"self":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/posts\/1419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1419"}],"version-history":[{"count":0,"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/posts\/1419\/revisions"}],"wp:attachment":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}