0

これに取り組む最善の方法は、まっすぐに飛び込んで説明することだと思います。

私はカスタムメイドのテンプレートでワードペスを使用しています(私たちはそれを作りました)このコードはTwitterウィジェットプロを扱うためのものです。(これは付与されたコードの中で最も美しいものではありません。後でクリーンアップします)

<?php

/*
  * TWITTER SIDE BAR
  *
  * Sets the twitter area to display: none and pulls in the content from the server
  * Javascript then does a string replace to remove a bit of unwanted text
  * finally javascript will write the doctored string to the client browser
*/

?><div id="twitterRight">

  <ul class="xoxo" style="list-style-type:none; font-size:11px; margin:0px 20px 0 0;">
    <li id="twitter-2" class="widget-container widget_twitter">
    <div id="twitHold" style="display:none;">
    <h3 class="widget-title"><span class='twitterwidget twitterwidget-title'><a href="http://www.twitter.com/username" target="_blank"><img src="<?php echo home_url(); ?>/images/twitterName.png" width="208" height="27" alt="EhomeS" /></a></span></h3>

  <ul>
  <?php 
    $twitter = dynamic_sidebar('primary-widget-area');
  ?></ul>
  </div>
  <div id="twitHolder">

  <script type="text/javascript">
    // Get the posted content from the server
    var str = $('#twitHold').html();
    var x = str.replace("Twitter: @username", "");
    //var shortString = x.substr( 0, 10 );
    document.write(x);
  </script>    
  </div>

  </li></ul>
</div><!-- END #twitterRight -->

問題は、wordpress関数dynamic_sidebarが文字列などを返さず、ブール値のみを返すため、それを操作できないことです。したがって、私が行ったことは、出力されたHTMLをjs変数xに格納し、そこから操作したことです。

私が達成しようとしているのは、各リスト項目(ツイート)の文字数を制限することですが、その方法が見つかりません。私はこれまで運が悪かったのでこれを試しました(javascriptがそれを書き出して解析しているので、私は考えていますが、よくわかりません)。

リストアイテムに対してsubstrを実行する方法はありますか?

4

1 に答える 1

1

質問は少し不明確です。リストアイテムのコレクションが必要な場合は、これを試してください。

jqueryセレクターを使用してください。jqueryには優れたドキュメントがありますhttp://jquery.com/

必ずjqueryライブラリをドキュメントに追加してください。

<ul id="twitterlist">
  <?php 
    $twitter = dynamic_sidebar('primary-widget-area');
?></ul>

<script type="text/javascript">
var listitems = $('#twitterlist').children();
</script>
于 2012-08-28T09:33:16.683 に答える