I am having trouble accessing a custom field on my Wordpress page.
I have a field for a user to upload an image file. The theme that I am using then displays the value of that image as just the image ID, instead of an image link. I display it using{CUSTOM_FIELD_TestFile}
in the page editor.
I want it to display the actual image though, not the ID.
So, I created a PHP snippet that runs on the page, to do the converting.
If I use<img src=" <?php echo wp_get_attachment_url( 1013 )?> ">
and I have the image ID hard coded (1013), it works perfectly.
However, I have had no luck getting the value of 'TestFile' into the PHP snippet. I double checked the user_meta table and the meta_key for this file is indeed TestFile.
The viewing of the page is done usually when a user is not logged in. So,get_current_user_id()
isn't an option, which means, I also can't useget_user_meta()
.
If I use:
<?php
$postId = get_the_ID();
echo $postId;
$fileLink = get_metadata( "user", $postId, "TestFile");
echo $fileLink;
?>
I get "array" as a response. If I change it toget_metadata( "user", $postId, "TestFile", true);
I get nothing.
The exact same results if I useget_post_meta($postId, 'TestFile');
orget_post_meta($postId, 'TestFile', true);
.
Am I on the completely wrong track? Is there an easier way to do this? Or is there something that I should be doing with that "array" value that is being returned.
Thanks so much for any help you can offer.
If you have added a custom field calledTestFile
in the editor, you should be able to get that in your template with:
$value = get_post_meta($postId, 'TestFile', true);
I'm not sure what you mean about the user being logged in or out, because custom fields belong to the post and have nothing to do with the user.
Assuming that works, you should be able to add the ID to your image element:
<img src="<?= wp_get_attachment_url($value); ?>">
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Find the answer in similar questions on our website.
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.
PHP (from the English Hypertext Preprocessor - hypertext preprocessor) is a scripting programming language for developing web applications. Supported by most hosting providers, it is one of the most popular tools for creating dynamic websites.
The PHP scripting language has gained wide popularity due to its processing speed, simplicity, cross-platform, functionality and distribution of source codes under its own license.
https://www.php.net/
Welcome to the Q&A site for web developers. Here you can ask a question about the problem you are facing and get answers from other experts. We have created a user-friendly interface so that you can quickly and free of charge ask a question about a web programming problem. We also invite other experts to join our community and help other members who ask questions. In addition, you can use our search for questions with a solution.
Ask about the real problem you are facing. Describe in detail what you are doing and what you want to achieve.
Our goal is to create a strong community in which everyone will support each other. If you find a question and know the answer to it, help others with your knowledge.