小编Ric*_*ich的帖子

如何实现具有分页的同位素

我正试图在我的WordPress网站上实现同位素和分页(这对大多数人来说显然是一个问题).我想出了一个方案,如果我可以解决一些问题,可能会有用.

在我的页面上,我有这部分同位素脚本 -

$('.goforward').click(function(event) {
    var href = $(this).attr('href');
    $('.isotope').empty();
    $('.isotope').load(href +".html .isotope > *");
    $( 'div.box' ).addClass( 'isotope-item' );
    $container.append( $items ).isotope( 'insert', $items, true );
    event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

然后我使用这个分页功能,我从这里修改了'goforward'类 -

function isotope_pagination($pages = '', $range = 2)
{  
     $showitems = ($range * 2)+1;  

     global $paged;
     if(empty($paged)) $paged = 1;

     if($pages == '')
     {
         global $wp_query;
         $pages = $wp_query->max_num_pages;
         if(!$pages)
         {
             $pages = 1;
         }
     }   

     if(1 != $pages)
     {
         echo "<div class='pagination'>";
         for ($i=1; $i <= $pages; …
Run Code Online (Sandbox Code Playgroud)

html php jquery pagination isotope

47
推荐指数
1
解决办法
8038
查看次数

如何在AngularJS partials文件中使用php(wordpress)函数?

我正在使用angularjs来加载我的wordpress帖子列表,但是我无法使用我的部分文件处理我的任何php函数.

我尝试过使用像search.php而不是search.html这样的东西,但是当这样做时我得到了致命错误等错误,get_post_meta是未定义的.

现在我知道我们不应该将客户端与服务器端混合,我可以使用某种服务来解析我的php,但我不知道如何去做.我需要我的search.php来渲染我的php标签,这样我就可以显示自定义字段,并使用我在那里的几个php函数.

这是最好的方法吗?

在我的页面模板(.php)上,我有 -

<div id="page" ng-app="app">
        <header>
            <h1>
                <a href="<?php echo home_url(); ?>">Search</a>
            </h1>
        </header>
  <?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

   <div ng-Cloak ng-controller="MyController" class="my-controller">
<div ng-view></div>     
</div>
  <?php endwhile; ?>
 <?php endif; ?>
<?php rewind_posts(); ?>
<div ng-controller="OtherController" class="other-controller">
          <div class="text-center">
          <dir-pagination-controls boundary-links="true" on-page-change="pageChangeHandler(newPageNumber)" template-url="/partials/dirPagination.tpl.html"></dir-pagination-controls>
          </div>
        </div>
        <footer>
            &copy; <?php echo date( 'Y' ); ?>
        </footer>
    </div>
Run Code Online (Sandbox Code Playgroud)

在我的php文件中我希望被调用到视图中具有如下功能 -

<?php 
$pcomp1b = get_post_meta(get_the_ID(), 'pa_meta_comp1b', true); 
$pcomp1c = get_post_meta(get_the_ID(), 'pa_meta_comp1c', true);
$pcomp1d …
Run Code Online (Sandbox Code Playgroud)

javascript php wordpress json angularjs

11
推荐指数
2
解决办法
1218
查看次数

使用文本地址的谷歌地图街景地图

我在wordpress单个帖子页面上有一个谷歌地图,可以从2个自定义字段中获取地址.它工作正常,但现在我正在尝试添加街景链接/选项.

我在我的页面上 -

<iframe width="100%" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.google.com/maps/embed/v1/place?q=<?php echo $add; ?>,%20<?php  $terms = wp_get_post_terms(get_the_ID(), 'city-type');
  if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
     foreach ( $terms as $term ) {
 if ($term->parent == 0) //check for parent terms only
       echo '' . $term->name . '';      
     }
  } ?>&zoom=17&key=mytoken"></iframe>
Run Code Online (Sandbox Code Playgroud)

然后输出这样的东西 -

<iframe width="100%" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://www.google.com/maps/embed/v1/place?q=100 las vegas ave,%20Las Vegas, NV&amp;zoom=17&amp;key=mytoken"></iframe>
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用坐标的情况下添加街景?

我尝试了坐标,但它们略有偏差 -

<?php
 function getCoordinates($address){

$address = str_replace(" ", …
Run Code Online (Sandbox Code Playgroud)

javascript php wordpress google-maps google-street-view

11
推荐指数
1
解决办法
600
查看次数

PHP表单值作为回调函数中的JS变量

我试图使用以下代码在JS函数中传递php表单值 -

<script type="text/javascript">
var titleV = document.getElementById("mrp-title-<?php echo $sequence ?>").value;

var commentV = document.getElementById("comment-<?php echo $sequence; ?>").value;

mrp_data_callbacks.push( function(index, data) {
data["<?php echo "htitle-" . $sequence ?>"] = titleV;
return data;
});

mrp_data_callbacks.push( function(index, data) {
data["<?php echo "comment-" . $sequence ?>"] = commentV;
return data;
});
</script>
Run Code Online (Sandbox Code Playgroud)

得到这样的东西 -

jQuery(document).ready(function() { 
mrp_data_callbacks.push( function(index, data) {
data["hello"] = "world";
return data;
});
});
Run Code Online (Sandbox Code Playgroud)

我直接尝试这样 -

 mrp_data_callbacks.push( function(index, data) {
        data["<?php echo "htitle-" . $sequence ?>"] = "<?php echo $htitle …
Run Code Online (Sandbox Code Playgroud)

html javascript php ajax jquery

9
推荐指数
1
解决办法
1216
查看次数

html5下载和php下载在移动设备上不起作用

在我的网站上,我有一个<a download></a>链接以及一个php函数,可以很好地将文件下载到桌面上-

ob_start();

$nameOld = 'https://my-other-server.online/path/to/file.mp4';
$save = '/var/path/to/file.mp4';
$nameNew = "download.mp4";

file_put_contents($save, fopen($nameOld, 'r'));

set_time_limit(0);

header('Connection: Keep-Alive');
header('Content-Description: File Transfer');
header('Content-Type: application/force-download');
header("Content-Disposition: attachment; filename=$nameNew");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($save));

      while (ob_get_level()) {
        ob_end_clean();
      }

readfile($save);
exit;

unlink($save);
Run Code Online (Sandbox Code Playgroud)

在移动设备(iPhone)上,此功能不适用于Chrome浏览器。(即使我已经看到一些下载提示用户打开另一个应用程序以继续,我也已经知道Safari ios下载。)

因此,我尝试使用<a></a> download链接,但是单击它时,它只是在新标签中打开视频并播放。

如果我尝试使用php脚本,它将在新标签页中打开视频并显示划掉的播放按钮(视频甚至无法播放)。我一直在寻找答案的几天,我已经编辑了.htaccess文件并测试了不同的脚本,内容类型,标头等。

这是特定于移动设备的当前脚本的样子-

... first few lines same as above script ...

file_put_contents($save, fopen($nameOld, 'r'));

//echo file_get_contents($save);
//$headers = get_headers($nameOld, 1);
//$filesize = $headers['Content-Length'];
//set_time_limit(0); …
Run Code Online (Sandbox Code Playgroud)

php html5 content-type download http-headers

7
推荐指数
1
解决办法
515
查看次数

如何在提示登录后将$ _POST数据传递给youtube上传脚本

我的wordpress页面上有一个脚本,可让用户在我的网站上创建视频帖子,然后将视频上传到他们的YouTube.

用户单击我站点上的一个按钮,该按钮将表单数据从隐藏的输入字段发送到运行youtube上传api脚本的新窗口,如果用户未登录则要求他们这样做.

我遇到的问题是,当用户必须登录并重定向回页面时,帖子值会丢失并导致我的上传脚本失败,因为他们假定要定义视频路径.

我已经尝试了多次尝试以不同方式尝试并传递变量,但似乎没有任何工作,数据在登录后永远不会传递给页面.

如果已经登录,它总是有效.单击按钮时,变量将被传递.

$videoTitle = $_POST['ytu_title'];
$authorID = $_POST['a_id'];
$vidID = $_POST['vid_id'];


$dirpath = $_SERVER["DOCUMENT_ROOT"] ."/wp-content/uploads/".$authorID."/".$vidID;

// Set session variables
$_SESSION["favcolor"] = $_POST['vid_id'];

file_put_contents($dirpath."/videoTitle.txt", $videoTitle);
file_put_contents($dirpath."/authorID.txt", $authorID);
file_put_contents($dirpath."/vidID.txt", $vidID);
file_put_contents($dirpath."/dir.txt", $dirpath);

$vID = file_get_contents($dirpath.'/vidID.txt');
$auID = file_get_contents($dirpath.'/authorID.txt');

// Check to ensure that the access token was successfully acquired.
if ($client->getAccessToken()) {
  $htmlBody = '';
  $htmlBody2 = '';
  try{

    // REPLACE this value with the path to the file you are uploading.
    $videoPath = $_SERVER["DOCUMENT_ROOT"] ."/wp-content/uploads/".$auID."/". $vID."/output-".$vID.".mp4";
Run Code Online (Sandbox Code Playgroud)

上面显示了我尝试的尝试,以便我可以定义videoPath.我尝试修改前的原始脚本 - …

php youtube post youtube-api youtube-data-api

6
推荐指数
1
解决办法
152
查看次数

ajax函数成功时刷新音频源

在我的 WordPress 网站上,我有一个使用 AJAX 和 PHP 将文本转换为音频的表单。更新转换后的文本时,文件名保持不变,只是重新创建文件。

一切似乎都工作正常,除了当我更新文本时要播放的音频源没有重新加载/刷新。

默认下载按钮为我提供更新的文件,如果我刷新整个页面,我只能听到更新的文件播放。

我的代码(为了相关性而简化)--

jQuery(document).on('click', '#savetext', function(e) {
  e.preventDefault();
  var myVideo = $('#player');
  var path = $("#path").val();
  myVideo.src = path;

  $.ajax({
    data: {
      action: 'polly_pros',
      pollytext: txt,
      rate: rate,
      voice: voice
    },
    type: 'post',
    url: polpro.ajax_url,
    cache: false,
    success: function(data) {
      console.log(data);
      myVideo.load();
      myVideo.get(0).play();
    },
    error: function() {
      console.log("Error");
    }
  });
});
Run Code Online (Sandbox Code Playgroud)
<audio id="player" controls>
  <source id="audiosource" src="<?php echo $thepath; ?>" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>

<textarea name="pollytext" id="pollytext"></textarea> …
Run Code Online (Sandbox Code Playgroud)

ajax jquery audio-streaming ajaxform html5-audio

5
推荐指数
1
解决办法
2854
查看次数

让用户将视频从我的站点服务器上传到他们的YouTube频道

我正在运行一个带有ffmpeg的WordPress网站,我允许用户使用表单创建视频.视频工作正常,每个帖子都保存在自己的目录中.

我现在正试图允许用户将他们创建的视频上传到他们自己的YouTube频道.

使用来自youtube api的 PHP代码和谷歌控制台上的应用程序,我能够成功将视频上传到我自己的帐户.它只要求我进行一次身份验证.

PHP代码 -

<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/gap/google-api-php-client/vendor/autoload.php';

$key = file_get_contents('the_key.txt');

set_include_path($_SERVER['DOCUMENT_ROOT'] . '/gap/google-api-php-client/');
require_once 'src/Google/Client.php';
require_once 'src/Google/Service/YouTube.php';

$application_name = 'youtube4true'; 
$OAUTH2_CLIENT_ID = 'REMOVED FOR STACK';
$OAUTH2_CLIENT_SECRET = 'REMOVED FOR STACK';

$client = new Google_Client();
$client->setClientId($OAUTH2_CLIENT_ID);
$client->setClientSecret($OAUTH2_CLIENT_SECRET);
$client->setScopes('https://www.googleapis.com/auth/youtube');
$redirect = filter_var('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'],
    FILTER_SANITIZE_URL);
$client->setRedirectUri($redirect);
$client->setAccessType("offline");
$client->setApprovalPrompt("force");

// Define an object that will be used to make all API requests.
$youtube = new Google_Service_YouTube($client);

// Check if an auth token exists …
Run Code Online (Sandbox Code Playgroud)

php token youtube-api access-token youtube-data-api

5
推荐指数
1
解决办法
254
查看次数

使用带有复选框的ISSET

我正在使用wordpress搜索表单来优化当前搜索,我想要做的是搜索结果页面的搜索,并根据查询设置值.

到目前为止,我已经成功地使用单选下拉和单个复选框这样做 -

<!-- SINGLE SELECT -->
    <select name="baths" class="form-control">
    <?php if (isset($_GET['baths'])) {
        $bths = $_GET['baths']; ?>
    <option value="<?php echo $bths; ?>"><?php echo $bths; ?></option>  
    <?php } else { ?>
    <option value="Any">Any</option>
    <?php } ?>
    <option value="Any">Any</option>
    <option value="1">1+</option>
    <option value="2">2+</option>
    <option value="3">3+</option>
    <option value="4">4+</option>
    <option value="5">5+</option>
    <option value="6">6+</option>
    <option value="7">7+</option>
    <option value="8">8+</option>
    <option value="9">9+</option>
    <option value="10">10+</option>
    </select>

<!-- SINGLE CHECKBOX -->
<input type="checkbox" name="dogs" class="styled" value ="yes" <?php if (isset($_GET['dogs'])) { ?>checked<?php } ?>>
Run Code Online (Sandbox Code Playgroud)

这是有效的,但对于多个值,它没有.这是我生成一组复选框以选择设施的功能 -

<?php
$amenity_array …
Run Code Online (Sandbox Code Playgroud)

php forms wordpress checkbox isset

4
推荐指数
1
解决办法
989
查看次数

如何将 php 代码放入打开和关闭短代码中

我正在一个网站上工作,并且在模板文件中使用具有开头和结尾的短代码。我想知道是否可以在短代码之间放置 wordpress the_content php 标签,以及是否可以在开始和结束标签之间放置另一个短代码。

我试过这个 -

<?php echo do_shortcode('[membership level="1"]''.$the_content.''[/membership]'); ?>
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我也尝试了其他一些方法。我错过了什么或做错了什么?任何帮助深表感谢。谢谢。

php variables wordpress echo shortcode

1
推荐指数
1
解决办法
3465
查看次数