小编Ric*_*ler的帖子

使Wordpress wp_delete_attachment从预定义的自定义文件夹中删除文件

我们创建了一个自定义帖子类型,允许我们的客户端将文件上传到标准Wordpress上传文件夹(wp-content/upload-assets)之外的文件夹.这些文件将从标准的wp-content/uploads文件夹中单独处理,这就是我们无法使用的原因

define( 'UPLOADS', 'mycustomfolder' );
Run Code Online (Sandbox Code Playgroud)

在wp-config.php中.

相反,我们使用它暂时将uploads文件夹更改为wp-content/upload-assets:

add_filter('upload_dir', 'my_upload_dir');
$uploaded_file = wp_handle_upload($_FILES['xxxx_image'], $upload_overrides);
remove_filter('upload_dir', 'my_upload_dir');
Run Code Online (Sandbox Code Playgroud)

我们使用此功能删除特定帖子中的所有附件:

add_filter('upload_dir', 'my_upload_dir');
$attachments = get_posts( array(
            'post_type'      => 'attachment',
            'posts_per_page' => -1,
            'post_status'    => 'any',
            'post_parent'    => $pid
) );

foreach ( $attachments as $attachment ) {
   if ( false === wp_delete_attachment( $attachment->ID, true ) ) {
      echo 'Attachment could not be deleted.';
   }
}
remove_filter('upload_dir', 'my_upload_dir');
Run Code Online (Sandbox Code Playgroud)

wp_delete_attachment还应该从磁盘中删除所有相关文件,但它不起作用,因为我们的文件位于我们的自定义文件夹(wp-content/upload-assets)中.

这是my_upload_dir函数的代码:

function my_upload_dir($upload) {
    $upload['subdir']   = '';
    $upload['basedir']  = WP_CONTENT_DIR;
    $upload['baseurl']  = WP_CONTENT_URL;
    $upload['path']     = $upload['basedir'] …
Run Code Online (Sandbox Code Playgroud)

php wordpress delete-file

19
推荐指数
2
解决办法
1222
查看次数

为什么转义SQL值需要打开连接?

为了清楚起见,任何人都可以解释为什么mysqli_real_escape_string必须阅读:

$query = mysqli_real_escape_string($conn,"SELECT * FROM tbl");
Run Code Online (Sandbox Code Playgroud)

而不只是:

$query = mysqli_real_escape_string("SELECT * FROM tbl");
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

php mysqli

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

如何仅在xslt中选择第一个节点

我的XML为我提供了分配给不同mmids的多个图像:

<Mediendaten>
    <Mediendaten mmid="22404">
        <url size="original">A 22404 FILE</url>
        <url size="thumb">ANOTHER 22404 FILE</url>
    </Mediendaten>
    <Mediendaten mmid="22405">
        <url size="original">A 22405 FILE</url>
        <url size="thumb">ANOTHER 22405 FILE</url>
    </Mediendaten>
<Mediendaten>
Run Code Online (Sandbox Code Playgroud)

我的XSLT只选择size = thumb的网址:

<xsl:template match="/Mediendaten">
<xsl:apply-templates select="Mediendaten/url">
</xsl:apply-templates>
</xsl:template>

<xsl:template match="Mediendaten/url">
<xsl:if test="@size = 'thumb'">
<img width="280" border="0" align="left">
<xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute>
</img>
</xsl:if>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

但是,我只需要第一个mmid的缩略图(在本例中为22404).我无法控制mmid值.

如何停止我的模板,以便它只输出第一个mmid的拇指文件?

非常感谢您的帮助!

xslt apply-templates

8
推荐指数
1
解决办法
2万
查看次数

PHP会话在if语句中意外更改并忽略echo命令

当我在Wordpress中显示特定页面时,我将$ _SESSION ['showroom']设置为'active':

if(get_the_ID()==6470||get_the_ID()==252){
    $_SESSION['showroom']='active';
}
Run Code Online (Sandbox Code Playgroud)

然后我设置2个页面数组来检查.如果显示的下一页不在其中一个数组中,$ _SESSION ['showroom']将变为'inactive'.

$allowed_templates = array('template-A.php',
                           'template-B.php',
                           'template-C.php',
                           'template-E.php',
                           'template-G.php');
$allowed_ids = array(6470,252);

$template_name = get_page_template_slug();
$page_id = get_the_ID();

if(in_array($template_name,$allowed_templates)==false && in_array($page_id,$allowed_ids)==false){
    $_SESSION['showroom']='inactive';
}
Run Code Online (Sandbox Code Playgroud)

if语句大部分时间都可以工作,但有时我的$ _SESSION ['展厅']会变为非活动状态,尽管其中一个数组返回true!经过几个小时的测试后,我无法找到问题所在.回应if语句的两个部分ALWAYS给了我2个trues或1个true + 1个false,但绝不是2个falses:

if(in_array($template_name,$allowed_templates)==false){echo 'TFALSE';}
if(in_array($template_name,$allowed_templates)){echo 'TTRUE';}
if(in_array($page_id,$allowed_ids)==false){echo 'IFALSE';}
if(in_array($page_id,$allowed_ids)){echo 'ITRUE';}
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

在此先感谢您的帮助!

编辑:继续测试,发现以下异常:

    if(in_array($template_name,$allowed_templates)==false && in_array($page_id,$allowed_ids)==false){
    $_SESSION['showroom']='inactive';
    echo 'SET TO INACTIVE';
}
Run Code Online (Sandbox Code Playgroud)

if语句将$ _SESSION ['showroom']更改为'inactive',但不会回显'SET TO INACTIVE'!

这里有一些奇怪的事情!

php session if-statement

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

是否可以为HTML提交按钮提供多种颜色?

我的客户要求我提交一个包含2个单词和3种不同文字颜色的提交按钮:

<input type="submit" value="SUBMIT NEWSLETTER" />
Run Code Online (Sandbox Code Playgroud)

SUBMIT =黑色NEWS =黑色LET =白色TER =黑色

我猜CSS不会这样做.也许是Javascript?

提前感谢任何想法!

html css

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

PHP if语句具有多个值

是否有更短的写作方式?

<? 
if($_GET['id']==1 ||
$_GET['id']==3 ||
$_GET['id']==4 || 
$_GET['id']==5)
{echo 'does it really have to be this explicit?'};
?>
Run Code Online (Sandbox Code Playgroud)

也许这样的事情?

<?
if($_GET['id']==1 || 3 || 4 || 5){echo 'this is much shorter'};
?>
Run Code Online (Sandbox Code Playgroud)

php if-statement

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

为什么我的网址包含2x www.?

我们使用适当的A Name记录更改将我们的域指向了WIX服务器.

但是,当我们打电话给我们的网站 - zimmeracht.com或www.zimmeracht.com时,网址会更改为www.www.zimmeracht.com.

以前有没有体验过这个?我们如何改变这个想法?一个DNS问题@WIX也许?

在此先感谢您的帮助!

dns url

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

如何在没有javascript的情况下验证HTML select标签

我们的选择标签在开头显示一个空选项标签,以确保用户不会自动选择显示的第一个选项:

<select name="title" required pattern="[A-Z]">
<option value="0"></option>
<option value="Mr">Mr</option>
<option value="Mrs">Mrs</option>
<option value="Ms">Ms</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我们如何验证选择标记以确保选择除0以外的选项之一?

最好没有Javascript !!

html forms

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

为什么jquery .val()只更改隐藏输入字段的value属性?

我们使用一些非常简单的jQuery来更改文本字段的值:

<input type="text" name="rabatt" id="sonderrabatt" value="">
var sonderrabatt = 10;
$('#sonderrabatt').val(sonderrabatt);
Run Code Online (Sandbox Code Playgroud)

这会更改浏览器中显示的值,但不会更改源代码中文本字段的value属性.

现在,考虑一下:

<input type="hidden" name="rabatt" id="sonderrabatt" value="">
var sonderrabatt = 10;
$('#sonderrabatt').val(sonderrabatt);
Run Code Online (Sandbox Code Playgroud)

将输入类型更改为隐藏,值属性更改!

1.这是否意味着我们必须执行以下操作来更改浏览器中显示的输入字段值及其源代码中的value属性?:

<input type="text" name="rabatt" id="sonderrabatt" value="">
var sonderrabatt = 10;
$('#sonderrabatt').val(sonderrabatt);
$('#sonderrabatt').attr('value',sonderrabatt);
Run Code Online (Sandbox Code Playgroud)

2.为什么.val()适用于type = hidden而不适用于type = text输入字段?

html jquery

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

在产品属性中添加新术语并在Woocommerce中的产品中进行设置

我的自定义分类法(WooCommerce属性)已经存在,并且我正在使用以下内容为分类法添加新术语并将其与我的WooCommerce产品相关联:

wp_set_object_terms($product_id, array($omega_jahr), 'pa_years-of-construction');
Run Code Online (Sandbox Code Playgroud)

当我使用以下命令为产品调用“ pa_years_of_construction”时,可以看到新条款已保存:

$v = array_values( wc_get_product_terms( $product->id, 'pa_years-of-construction', array( 'fields' => 'names' ) ) );
Run Code Online (Sandbox Code Playgroud)

但是,当我在网站的后台和前端检查产品属性时,“ pa_years_of_construction”属性未显示。

我在这里想念什么?

在此先感谢您的帮助!

php wordpress product custom-taxonomy woocommerce

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

使用PHP将段落拆分为2列

我们使用以下内容将字符串拆分为两列.该字符串目前分裂在.,?!.

我们如何调整它以分裂.",?"!"

$middle = strrpos(substr($text, 0, floor(strlen($text) / 2)), ' ') + 1;
$adjust = strcspn($text, '.!?', $middle);
Run Code Online (Sandbox Code Playgroud)

例如:

这是一些没有引号的文字."这是带引号的文字!" 还有更多没有引号的文字.

会被分成:

这是一些没有引号的文字."这是带引号的文字!"

还有更多没有引号的文字.

html php

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

如何将 wp 生成附件元数据()限制为某些中间图像尺寸

在 WordPress 中,我们使用 add_image_size() 将自己的中间图像尺寸添加到标准 WordPress 尺寸中。

使用我们自己的管理界面上传图像,然后使用 wp_generate_attachment_metadata() 创建所有缩略图并将它们保存到服务器上的预定义文件夹中。

然而,我们希望限制 wp_generate_attachment_metadata() 只生成我们自定义的图像尺寸并忽略 WordPress 标准尺寸。

这可能吗?

预先感谢您的任何帮助!

php wordpress upload

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