Angela
Forum Replies Created
-
Forum: Plugins
In reply to: [Download Monitor] Accessing Custom Fields/Meta DataThanks, Barry!
Yep, after looking at it with fresh eyes, this was a case of user error. Now that I know, I can see about writing a snippet that will pull the metadata from the download itself rather than its host page.
Forum: Plugins
In reply to: [Download Monitor] Feature Request: Access "post_content" value in templatesWonderful!! Thank you!
Forum: Plugins
In reply to: [Download Monitor] Possible to change link text from Title?True, it would require a lot of individual templates if every link had different text. Hopefully the plugin author will take your suggestion under advisement. ??
Forum: Plugins
In reply to: [Download Monitor] Possible to change link text from Title?You can use a custom template to do this. ??
Your template file (uploaded to
/yourtemplate/download-monitor/
and namedcontent-download-dllink.php
, for example) might look something like:<?php /** * Download link custom template */ if ( ! defined( 'ABSPATH' ) ) { exit; } // Exit if accessed directly ?> <a href="<?php $dlm_download->the_download_link(); ?>">Download Our Latest Guide</a>
…And wherever you want to show the link, use:
[download id="10" template="dllink"]
Your other
[download]
shortcodes will still use the default template from your Download Monitor settings.Hope this helps! ??
Forum: Plugins
In reply to: [Download Monitor] Echo Additonal Download Details in DM TemplateAgreed, it’s not the best solution, but it was necessary for one of my clients’ site’s download templates. :-/ (Plus it’s now become useful in other sites where I’m using this plugin.)
Thanks for the tip about
$dlm_download->id
(corrected from$download->id
in your reply). Works like a charm!Any way the
post_content
bit will make it into a future release? It will definitely give custom templates a bit more flexibility; I’m usingpost_content
andshort_content
in different ways in the same template. It’s also a bit confusing to have a big Post Content field on the Add Download page and not actually be able to reference its value in any way. ??Forum: Plugins
In reply to: [Download Monitor] Echo Additonal Download Details in DM TemplateNosing around in the code, I found that the
plugins/download-monitor/includes/class-dlm-download.php
houses all the functions used in the display of download details. There was no function that calledpost_content
, so I made one!On line 157, between the functions for
the_short_description
andget_the_image
, I added:/** * get_the_post_content function. * * @access public * @return void */ public function get_the_post_content() { return wpautop( do_shortcode( $this->post->post_content ) ); } /** * the_post_content function. * * @access public * @return void */ public function the_post_content() { echo $this->get_the_post_content(); }
I can do something similar for the download ID, but I think I might just extract it from the download link.
Of course, none of this will survive the next plugin update, but hopefully it will make it into the next release. ?? *poke poke*
Forum: Plugins
In reply to: [Download Monitor] Count based on…?Thanks for the info! ??
Forum: Plugins
In reply to: [Download Monitor] Custom Template Disappears After Plugin UpgradeI missed it too! Glad to know there’s a workaround. ??
Forum: Plugins
In reply to: [Download Monitor] Unable to manually update download counter[ Removed — I’m a big moron and finally found the way to manually update the file count. Other issue moved to its own thread. ]
Forum: Plugins
In reply to: [Download Monitor] Unable to manually update download counterI should’ve paid more attention to the old plugin’s notes. >.< I’ve got the new plugin installed and the old downloads imported. Thanks!!
Forum: Plugins
In reply to: [Get Post Content Shortcode] Suggestion: Only show content of published postsExcellent!! Thank you! ??
Forum: Plugins
In reply to: [Admin Meta Search] Just a little tweakBrilliant — I was just having this problem and adding the above code to admin-meta-search.php did the trick!
Forum: Plugins
In reply to: [Custom Field Bulk Editor] Request: Include meta data in searchNo worries! I found a way to do what I needed, but the meta search would be a nice quality-of-life feature. ?? Thanks again!
Forum: Plugins
In reply to: [Contact Form 7] Multiple instances of custom field?Ok, I’ve decided to move away from this idea and instead go with a custom module. Field generation and validation are working great!
While I don’t need the Tag Generator in order to use my custom shortcode, I’m puzzled by its behavior and was wondering if anyone could help me figure out why it’s doing what it’s doing.
I used the CF7
select.php
module as a template, and though I changed all the relevant instances of “select” to my tag name, when I attempt to generate a tag, I see
[select eqnlring-###]
instead of
[eqnlring eqnlring-###]
I can’t seem to find a reason why it’s doing this, and I hope someone will be able to clue me in.
Here is my custom module code in full:
<?php /** ** A base module for [eqnlring] and [eqnlring*] **/ /* Shortcode handler */ function wpcf7_add_shortcode_eqnlring() { wpcf7_add_shortcode( array( 'eqnlring', 'eqnlring*' ), 'wpcf7_eqnlring_shortcode_handler', true ); } function wpcf7_eqnlring_shortcode_handler( $tag ) { $tag = new WPCF7_Shortcode( $tag ); if ( empty( $tag->name ) ) return ''; $validation_error = wpcf7_get_validation_error( $tag->name ); $class = wpcf7_form_controls_class( $tag->type ); if ( $validation_error ) $class .= ' wpcf7-not-valid'; $atts = array(); $atts['class'] = $tag->get_class_option( $class ); $atts['id'] = $tag->get_id_option(); $atts['tabindex'] = $tag->get_option( 'tabindex', 'int', true ); if ( $tag->is_required() ) $atts['aria-required'] = 'true'; $atts['aria-invalid'] = $validation_error ? 'true' : 'false'; $defaults = array(); if ( $matches = $tag->get_first_match_option( '/^default:([0-9_]+)$/' ) ) $defaults = explode( '_', $matches[1] ); //$multiple = $tag->has_option( 'multiple' ); //$include_blank = $tag->has_option( 'include_blank' ); //$first_as_label = $tag->has_option( 'first_as_label' ); //$values = $tag->values; $values = array(); $tag_args = array( 'number' => 0, 'format' => 'array', 'separator' => '', 'exclude' => '154, 155, 162, 164, 166, 167, 168, 169, 174, 175', 'echo' => false ); $tag_cloud = wp_tag_cloud($tag_args); foreach ($tag_cloud as $tag_name) { $values[] = strip_tags($tag_name); } $labels = $tag->labels; if ( $data = (array) $tag->get_data_option() ) { $values = array_merge( $values, array_values( $data ) ); $labels = array_merge( $labels, array_values( $data ) ); } $empty_eqnlring = empty( $values ); //if ( $empty_eqnlring || $include_blank ) { // array_unshift( $labels, '---' ); array_unshift( $labels, '' ); array_unshift( $values, '' ); //} elseif ( $first_as_label ) { // $values[0] = ''; //} $html = ''; $hangover = wpcf7_get_hangover( $tag->name ); foreach ( $values as $key => $value ) { $selected = false; if ( $hangover ) { //if ( $multiple ) { // $selected = in_array( esc_sql( $value ), (array) $hangover ); //} else { $selected = ( $hangover == esc_sql( $value ) ); //} } else { if ( ! $empty_eqnlring && in_array( $key + 1, (array) $defaults ) ) { $selected = true; } } $item_atts = array( 'value' => $value, 'selected' => $selected ? 'selected' : '' ); $item_atts = wpcf7_format_atts( $item_atts ); $label = isset( $labels[$key] ) ? $labels[$key] : $value; $html .= sprintf( '<option %1$s>%2$s</option>', $item_atts, esc_html( $label ) ); } //if ( $multiple ) // $atts['multiple'] = 'multiple'; //$atts['name'] = $tag->name . ( $multiple ? '[]' : '' ); $atts['name'] = $tag->name; $atts = wpcf7_format_atts( $atts ); $html = sprintf( '<span class="wpcf7-form-control-wrap %1$s"><select %2$s>%3$s</select>%4$s</span>', sanitize_html_class( $tag->name ), $atts, $html, $validation_error ); return $html; } /* Validation filter */ add_filter( 'wpcf7_validate_eqnlring', 'wpcf7_eqnlring_validation_filter', 10, 2 ); add_filter( 'wpcf7_validate_eqnlring*', 'wpcf7_eqnlring_validation_filter', 10, 2 ); function wpcf7_eqnlring_validation_filter( $result, $tag ) { $tag = new WPCF7_Shortcode( $tag ); $name = $tag->name; if ( isset( $_POST[$name] ) && is_array( $_POST[$name] ) ) { foreach ( $_POST[$name] as $key => $value ) { if ( '' === $value ) unset( $_POST[$name][$key] ); } } if ( $tag->is_required() ) { if ( ! isset( $_POST[$name] ) || empty( $_POST[$name] ) && '0' !== $_POST[$name] ) { $result['valid'] = false; $result['reason'][$name] = wpcf7_get_message( 'invalid_required' ); } } if ( isset( $result['reason'][$name] ) && $id = $tag->get_id_option() ) { $result['idref'][$name] = $id; } return $result; } /* Tag generator */ add_action( 'admin_init', 'wpcf7_add_tag_generator_eqnlring', 27 ); function wpcf7_add_tag_generator_eqnlring() { if ( ! function_exists( 'wpcf7_add_tag_generator' ) ) return; wpcf7_add_tag_generator( 'eqnlring', __( 'EQNLR Ingredients List', 'contact-form-7' ), 'wpcf7-tg-pane-eqnlring', 'wpcf7_tg_pane_eqnlring' ); } function wpcf7_tg_pane_eqnlring( $contact_form ) { ?> <div id="wpcf7-tg-pane-eqnlring" class="hidden"> <form action=""> <table> <tr><td><input type="checkbox" name="required" /> <?php echo esc_html( __( 'Required field?', 'contact-form-7' ) ); ?></td></tr> <tr><td><?php echo esc_html( __( 'Name', 'contact-form-7' ) ); ?><br /><input type="text" name="name" class="tg-name oneline" /></td><td></td></tr> </table> <table> <tr> <td><code>id</code> (<?php echo esc_html( __( 'optional', 'contact-form-7' ) ); ?>)<br /> <input type="text" name="id" class="idvalue oneline option" /></td> <td><code>class</code> (<?php echo esc_html( __( 'optional', 'contact-form-7' ) ); ?>)<br /> <input type="text" name="class" class="classvalue oneline option" /></td> </tr> </table> <div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="select" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div> <div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><input type="text" class="mail-tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div> </form> </div> <?php } ?>
Ah, gotcha! I was thinking that formatting them as early as possible in the flow of the code would help, but you make a good point. ?? I’ll un-tweak my functions.php and instead play around with shortcode.php.
As always, thanks for the prompt response, and keep up the good work!!