Skip to content

Instantly share code, notes, and snippets.

View kurozumi's full-sized avatar

kurozumi kurozumi

View GitHub Profile
@kurozumi
kurozumi / wp-oembed-thumbnail.php
Last active August 29, 2015 14:20
WordPressが対応しているoEmbed対応サイトのURLを記事中に埋め込むとそのURLのサムネイルを取得してアイキャッチ画像に登録します。
<?php
/*
Plugin Name: WP oEmbed Thumbnail
Version: 0.1-alpha
Description: WordPressが対応しているoEmbed対応サイトのURLを記事中に埋め込むとそのURLのサムネイルを取得してアイキャッチ画像に登録します。
Author: kurozumi
Author URI: http://a-zumi.net
Plugin URI: http://a-zumi.net
Text Domain: wp-oembed-thumbnail
@kurozumi
kurozumi / functions.php
Last active August 29, 2015 14:21
【ワードプレス】投稿済みのoEmbed対応メディアかチェックする
/**
* 投稿済みメディアかチェックする
* @global type $post
* @global type $wp_embed
* @return type
*/
add_action('wp_ajax_parse-embed', function() {
global $post, $wp_embed, $wpdb;
if ( ! $post = get_post( (int) $_POST['post_ID'] ) )
@kurozumi
kurozumi / functions.php
Last active August 29, 2015 14:21
【ワードプレス】スラッグが重複していないかチェック
new WP_Check_Slug;
class WP_Check_Slug {
public function __construct()
{
add_action('admin_footer-post-new.php', array($this, 'admin_footer'));
add_action('admin_footer-post.php', array($this, 'admin_footer'));
add_action('wp_ajax_check-slug', array($this, 'check_slug'));
@kurozumi
kurozumi / functions.php
Last active August 29, 2015 14:21
【ワードプレス】ランダムで投稿情報のパーマリンクを取得する
if (!function_exists('get_rand_permalink')):
function get_rand_permalink()
{
if($posts = get_posts(array('posts_per_page' => 1, 'orderby' => 'rand')))
{
$post = current($post);
return get_permalink($post->ID);
}
return home_url();
}
@kurozumi
kurozumi / functions.php
Last active August 29, 2015 14:21
【ワードプレス】投稿ページのタイトルを一括編集する
add_filter('single_post_title', function($post_title, $post){
$categories = get_the_category( $post->ID );
if($categories){
return $post_title . sprintf("【%s】", implode("|", array_map(function($cat){
return $cat->name;
}, $categories)));
}else{
return $post_title;
}
}, 99, 2);
@kurozumi
kurozumi / functions.php
Last active August 29, 2015 14:21
【ワードプレス】はてなブックマークのコメントをワードプレスのoEmbed APIに対応させる方法
wp_oembed_add_provider('#http://b\.hatena\.ne\.jp/.*#i', 'http://b.hatena.ne.jp/api/oembed', true);
@kurozumi
kurozumi / functions.php
Last active August 29, 2015 14:21
【ワードプレス】はてなブログの「ブログカード」をワードプレスのoEmbed APIに対応させる方法
wp_oembed_add_provider('#http://.*\.hatenablog\.com/.*#i', 'http://hatenablog.com/oembed', true);
@kurozumi
kurozumi / gist:5c082545270af6f7d947
Last active August 29, 2015 14:21
【ワードプレス】カテゴリを登録すると自動でスラッグの接尾辞にロケールを付与する【未完成】
add_action('create_term', function($term_id, $tt_id, $taxonomy){
global $wpdb, $locale;
$term = get_term( $term_id, $taxonomy, ARRAY_A );
$locale = strtolower($locale);
$slug = sprintf("%s-%s", $term['slug'], $locale);
if(preg_match("/-{$locale}$/i", $term['slug']))
return;
@kurozumi
kurozumi / functions.php
Last active August 29, 2015 14:21
【ワードプレス】管理画面の投稿ページに作成者による絞り込み項目を追加
add_action('restrict_manage_posts', function() {
$selected = ( is_author() ) ? get_query_var( 'author' ) : 0;
$authors = get_users(array('fields' => 'ids'));
printf('<label class="screen-reader-text" for="author">%s</label>', __( 'Filter by author' ));
printf('<select id="filter-by-author" name="author">');
printf('<option value="0">%s</option>', __('All author'));
foreach ( $authors as $author_id ) {
$author = get_userdata( $author_id );
if($selected == $author->ID){
@kurozumi
kurozumi / functions.php
Last active August 29, 2015 14:21
【ワードプレス】テキストウィジェットでショートコードを使用する方法
add_filter('widget_text', 'do_shortcode');