いけそうですね。下の訂正を入れて試してください。
誤: wp_dorpdown_categories('show_option_none=Select taxonomy&taxonomy=area');
正: wp_dropdown_categories('show_option_none=Select taxonomy&taxonomy=area');
kjmtsh様
ありがとうございます。
<?php
wp_dropdown_categories(‘show_option_none=Select taxonomy&taxonomy=area’);
?>
<script type=”text/javascript”>
var dropdown = document.getElementById(“cat”);
function onCatChange() {
if (dropdown.options[dropdown.selectedIndex].value > 0) {
var taxTerm = dropdown.options[dropdown.selectedIndex].innerHTML;
location.href = “<?php echo home_url(‘/’);?>?post_type=small&area=”+taxTerm;
}
}
dropdown.onchange = onCatChange;
</script>
此方を貼り付けたところ、
category-スラッグ.php 作成したが読み込まない
category-ID.php 作成していない
category.php もともとあるが読み込まない
archive.php 作成していない
index.php これを表示します。
でアドレスバーは
http://example.com/area/58
となってます。
kjmtshさんのコードは、正常に動作します。
ただし、以下のような場合には、正常に動作しません。
testの条件
Twentytwelve で、サイドバーにカテゴリウィジェットが、ドロップダウン形式でセットされている場合
functions.php
add_action('init', 'my_custom_type');
add_action('init', 'my_custom_tax');
function my_custom_type() {
$args = array(
'public' => true,
'label' => 'small',
'taxonomy' => array('category', 'post_tag', 'area'),
'supoorts' => array('title', 'editor', 'thumnail', 'excerpt', 'custom-field'),
'rewrite' => array('slug' => 'small'),
'has_archive' => true
);
register_post_type('small', $args);
}
function my_custom_tax() {
register_taxonomy(
'area',
'small',
array(
'label' => 'area',
'rewrite' => array('slug' => 'area'),
'hierarchical' => true
)
);
}
twelveのcategory.php 45行くらい
<?php endif; ?>
<?php
wp_droppdown_categories('show_option_none=Select taxonomy&taxonomy=area');
?>
<script type="text/javascript">
var dropdown = document.getElementById("cat");
function onCatChange() {
if (dropdown.options[dropdown.selectedIndex].value > 0) {
var taxTerm = dropdown.options[dropdown.selectedIndex].innerHTML;
location.href = "<?php echo home_url('/');?>?post_type=small&area="+taxTerm;
}
}
dropdown.onchange = onCatChange;
</script>
</div><!-- #content -->
</section><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
動作が確認できたコード
<?php endif; ?>
<?php
wp_dropdown_categories('show_option_none=Select taxonomy&taxonomy=area&name=tax-area');
?>
<script type="text/javascript">
var dropdown = document.getElementById("tax-area");
function onCatChange() {
if (dropdown.options[dropdown.selectedIndex].value > 0) {
var taxTerm = jQuery("#tax-area option:selected").text();
location.href = "<?php echo home_url('/');?>?post_type=small&area="+taxTerm;
}
}
dropdown.onchange = onCatChange;
</script>
</div><!-- #content -->
</section><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
mamagoto1031さん、
後出しじゃんけんが多すぎませんか?
回答する人は、それなりの時間をかけてコードを書いてくれています。
初心者です、動きませんと書くだけで、本当に解決すると思いますか?
一方では、カスタム投稿や、カスタムタクソノミなどを書いていて、コピペしかできませんというのは理解に苦しみます
nobita様
私は別に喧嘩したい訳でもありません。
そういう言い方ないんでは?
あとだしじゃんけん?
なんの事ですか?
どういう事になってるか聞かれたのでそれに答えたらあとだしじゃんけん?
ふざけた事言わないで下さい。
>一方では、カスタム投稿や、カスタムタクソノミなどを書いていて、コピペしかできませんと
いうのは理解に苦しみます
世の中には先駆者がおられてそのコードを拝借して構築してるだけで何が初心者ではないんですか?
私のやりたい事は初めから変わってません。
kjmtsh様
category-スラッグ.phpも
category.phpも
削除したら
index.phpで表示されますが、それでは他の機能に大いに支障がでてしまいます。
後出しじゃんけんの意味は、
質問に回答する人がやりたい事を把握できるように
問題解決のためのチェックリスト
に書かれている内容を参考にして、質問の準備を周到にすべきです という意味です。
また初心者を自称する場合は、回答者の回答の中身を十分に検討したうえで、具体的な書き込みをしてほしいという意味です。
コピペしかできない初心者というお話ですが、それですと問題解決のためのコミュニケーションが困難になりますので、回答を理解しようとする考え方がないと、解決は難しいことも少なくありませんので、それが当たり前という考え方だと、自分自身の問題の解決を遅らせることもあるでしょう
コードに対する返答が全くないのは、残念ですが 執着するつもりはありません
良い回答者に巡り合えるといいですね